heruisi 发表于 2009-6-8 10:53

关于求自相关及功率谱中,矩阵维数报错的问题

要求:在-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;

可查了下感觉维数没问题啊……求高手帮忙解决!谢谢!

friendchj 发表于 2009-6-8 15:56

这是出错时的矩阵维数信息:
K>> whos Rx_av Rx
Name       Size            BytesClass   Attributes

Rx         1x1001             8008double            
Rx_av      1x51                408double
页: [1]
查看完整版本: 关于求自相关及功率谱中,矩阵维数报错的问题