Snikas 发表于 2008-5-24 10:59

请问这个式子用Matlab该如何计算?

file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msohtml1/03/clip_image002.gif
请问此式子用Matlab该如何计算哦?
我自己编了一个程序,但运行不了,总提示出现问题“??? Subscript indices must either be real positive integers or logicals.
Error in ==> zzkAF at 14
      AF(l,m,n) = T.*x(n+m) .* conj(x(n-m))*exp(i*2*pi*l*n/N)/(2*pi);”

我的程序如下所示:
function = zzkAF(x,sampfreq)
%x为输入信号,应该为列向量。
%sampfreq为数据采样频率

T=1/sampfreq;
N=length(x);
AF=zeros(N,N,N);

for l=1:N,
    for n=1:N,
      kmax=min();
      k=-kmax:kmax;
      m=rem(N+k,N)+1;
      AF(l,m,n) = T.*x(n+m) .* conj(x(n-m))*exp(i*2*pi*l*n/N)/(2*pi);
    end;
end;

for l=1:N,
    for m=1:N,
      AF(l,m)=sum(AF(l,m,:));
    end;
end;


[ 本帖最后由 Snikas 于 2008-5-24 11:06 编辑 ]

sogooda 发表于 2008-5-24 13:40

数组的下标必须是整数或逻辑型,根据错误提示自己找找吧

Snikas 发表于 2008-5-24 16:05

回复 2楼 的帖子

哦,谢谢,我发现错误了,索引应该为正整数

wamgm 发表于 2008-5-25 22:22

m=rem(N+k,N)+1;
括号中的数出现负数了吧
页: [1]
查看完整版本: 请问这个式子用Matlab该如何计算?