1、数据显示格式切换
%【分式显示】
format rat
%【小数显示】
format bank
%【正负号显示】
format +
%【手写格式分式】
pretty(varname)
2、符号矩阵操作(行、列提取、符号赋值)
clear;clc;
%% 符号运算
syms a11 a12 a13 a21 a22 a23 a31 a32 a33 real;%使用 real 声明符号是实数
syms b11 b12 b13 b21 b22 b23 b31 b32 b33 real;%使用 real 声明符号是实数
A = [a11 a12 a13;a21 a22 a23;a31 a32 a33];
B = [b11 b12 b13;b21 b22 b23;b31 b32 b33];
%% 符号赋值
AA = subs(A,[a11 a12 a13 a21 a22 a23 a31 a32 a33],[1 2 3 4 5 6 7 8 9]);
disp('赋值测试:');
disp(AA);
%% 列提取
FirstCol = A * [1 0 0]';%提取第一列
disp('提取第一列测试:');
disp(FirstCol);
%% 行提取
FirstRow = [1 0 0] * A;%提取第一行
disp('提取第一行测试:');
disp(FirstRow);
%% 对角线提取
Diag = diag(A);
disp('对角线元素提取测试:');
disp(Diag);
%% 叉乘
V1 = A(1,:);
V2 = B(1,:);
V3 = cross(V1,V2);
disp('叉乘运算测试:');
disp(V3);
3、FFT分析
MATLAB的FFT函数数学公式为:
X
(
k
)
=
∑
j
=
1
N
x
(
j
)
ω
N
(
j
−
1
)
(
k
−
1
)
x
(
j
)
=
(
1
/
N
)
∑
k
=
1
N
X
(
k
)
ω
N
−
(
j
−
1
)
(
k
−
1
)
\begin{array}{l} X(k)=\sum_{j=1}^{N} x(j) \omega_{N}^{(j-1)(k-1)} \\ x(j)=(1 / N) \sum_{k=1}^{N} X(k) \omega_{N}^{-(j-1)(k-1)} \end{array}
X(k)=∑j=1Nx(j)ωN(j−1)(k−1)x(j)=(1/N)∑k=1NX(k)ωN−(j−1)(k−1)
其中:
ω
N
=
e
(
−
2
π
i
)
/
N
\omega_{N}=e^{(-2 \pi i) / N}
ωN=e(−2πi)/N
clear all;close all;clc;
fs = 10000;%采样率
dt = 1/fs;
t = 10;%采样时间
vt = 0 : dt : t;
w1 = 1000;
w2 = 3000;
Genuinesignal = sin(2*pi*w1*vt) + sin(2*pi*w2*vt);Genuinesignal;
signal = Genuinesignal + randn(size(Genuinesignal));%加噪声
figure;
plot(signal);
%根据信号长度做对应点数的FFT
L = length(signal);
NFFT = 2^nextpow2(L);%取 2L > 2^N > L
%FFT变化
Y = fft(signal,NFFT)/L;%根据公式需要除序列的长度
%采样定理:只能分析 fs/2 以下频率(对应 NFFT 的一半)
%频率范围 0~fs/2
%样点范围 1~NFFT/2+1
Fre = fs/2 * linspace(0,1,NFFT/2+1);
Amp = 2 * abs(Y(1:NFFT/2+1));%傅里叶变换有个 1/2 因此需要乘 2
figure;
plot(Fre,Amp);