关于求自相关及功率谱中,矩阵维数报错的问题
要求:在-1/2—1/2中产生1000个随机数,并求其自相关和功率谱,画出图。代码如下:
echo on
N=1000;
M=50;
Rx=zeros(1,M+1);
Rx_av=zeros(1,M+1);
Sx_av=zeros(1,M+1);
for j=1:10
X=rand(1,N)-1/2;
Rx=Rx_est(X,M);
Sx=fftshift(abs(fft(Rx)));
Rx_av=Rx_av+Rx;
Sx_av=Sx_av+Sx;
echo off
end
echo on;
Rx_av=Rx_av/10;
Sx_av=Sx_av/10;
plot(Rx_av);
plot(Sx_av);
其中Rx_est函数的M文件如下:
function =Rx_est(X,M)
M=length(X);
N=M;
Rx=zeros(1,N+1);
for m=1:N+1
for n=1:N-m+1
Rx(m)=Rx(m)+X(n)*X(n+m-1);
end;
Rx(m)=Rx(m)/N;
end;
运行后系统报错:
??? Error using ==> plus
Matrix dimensions must agree.
Error in ==> Untitled at 11
Rx_av=Rx_av+Rx;
可查了下感觉维数没问题啊……求高手帮忙解决!谢谢! 这是出错时的矩阵维数信息:
K>> whos Rx_av Rx
Name Size BytesClass Attributes
Rx 1x1001 8008double
Rx_av 1x51 408double
页:
[1]