我的代码有问题。我的目标是通过通道矩阵获得傅立叶系数。然后使用fft并检查我的两个结果是否相同。但是我得到了不同的结果,我不明白为什么?
clear all;
N=[50];
for k=1:length(N)
Dx=1/(N(k)-1);
x=linspace(0,1-Dx,N(k));
for j=1:N(k)
f(j,k)=100.*exp(-20*x(j))*(x(j)-(x(j)).^2);
end
for j=1:N(k)
for m=1:N(k)
Mphsp(j,m)=exp((2*pi*i*(m-1)*(j-1))/N(k));
Mspph(j,m)=(1/N(k)).*exp(-(2*pi*i*(m-1)*(j-1))/N(k));
end
end
Idd=Mphsp*Mspph;
coeff(1:N(k),k)=Mspph*f(1:N(k),k);
coeff2(1:N(k),k)=fft(f(1:N(k),k));
verf(1:N(k),k)=coeff2(1:N(k),k)-coeff(1:N(k),k);
end如果有人有什么想法的话?请。
发布于 2019-10-14 05:01:05
你的for循环是错误的。length(N) = 1,因为N是一个1x1矩阵。
clear all;
N=[50];
for k=1:length(N)我想您想要做一些类似这样的事情
N = zeros(50, 1);
for k = 1:50
N(k) = k;
end
for k=1:length(N)
...https://stackoverflow.com/questions/58365256
复制相似问题