马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
要求:在-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]=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;
可查了下感觉维数没问题啊……求高手帮忙解决!谢谢! |