作业帮 > 综合 > 作业

matlab相关系数由于初学matlab,不太会编程,哪位高手可以教下怎么编程.设序列x(k)={3,11,7,0,-1

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 10:09:42
matlab相关系数
由于初学matlab,不太会编程,哪位高手可以教下怎么编程.
设序列x(k)={3,11,7,0,-1,4,2},n=【-3,-2,-1,0,1,2,3】,将x进行移位再加上一个白噪声信号,即y(k)=x(k-2)+w(k),其中k属于n,需要计算x序列和y序列之间的相关序数,可以使用卷积来计算.
这个是你想要的吗?
N=-3:1:3;
x=[3,11,7,0,-1,4,2];
[m,n]=size(x);
shift = -2;
y = circshift(x,[1,shift])+rand(1,n)*0.1;
corelation = zeros(1,n);
for ii=1:1:n
corelation(ii) = sum(x.*circshift(y,[1,N(ii)]),2);
end
figure;
plot(N,corelation,'-*r');
再问: for ii=1:1:n;corelation(ii) = sum(x.*circshift(y,[1,N(ii)]),2);这两句没看明白,能不能解释下。。。非常感谢!这段程序没用卷积吧,如果用卷积来做,卷积会用在那?
再答: cirshift 是矩阵作环形位移,sum(x.*circshift(y,[1,N(ii)]),2);是计算x与y的卷积,N(ii)为延迟值。