jakens 发表于 2008-11-5 23:22

乘与点乘

小弟我刚开始学MATLAB,最近老师布置作业,让用周期图法分析功率谱密度,小弟编了个程序,是按照直接法的理论一步步的编的,可是运行出来有错误!程序如下:clear;
fs=1000;
N=128;
n=1:N;
x=20^(1/2)*sin(2*pi*0.2*n)+2^(1/2)*sin(2*pi*0.213*n)+randn(size(n));
y=fft(x,N);
mag=abs(y);
f=(0:length(y)-1)'*fs/length(y);
Pxx=mag^2/N
plot(f,Pxx);
xlabel('频率(Hz)');
ylabel('幅值');
运行后错误提示是这样的Error in ==> a at 10
Pxx=mag^2/N。
请问这是怎么回事?还有想问就是这个程序运行出来能得出直接法估计的功率谱密度吗?要是想加矩形窗改怎么加?

[ 本帖最后由 sigma665 于 2008-11-6 09:44 编辑 ]

songzy41 发表于 2008-11-6 05:41


Pxx=mag^2/N
改为
Pxx=mag.^2/N

jakens 发表于 2008-11-6 07:47

太感谢楼主了!终于做出来了!
页: [1]
查看完整版本: 乘与点乘