这个MATLAB中,循环部分的data为什么只是最后一次数据?

fs=6.25*10^6;
P=xlsread('D:\soft install\MATLAB\work\qpsk','a:a');
Q=xlsread('D:\soft install\MATLAB\work\qpsk','b:b');
N=length(P);
yk=P+j*Q;
yk=yk.^4;
for k=2:N
m1=k-(N/2-1);
m2=N/2;
wk=(3*N)/[2*(N^2-1)]*[1-(m1/m2)^2];
delt_w=wk*angle(yk(k)*conj(yk((k-1))));
data=sum(delt_w);
end

lz 你好,修改如下:
fs=6.25*10^6;
P=xlsread('D:\soft install\MATLAB\work\qpsk','a:a');
Q=xlsread('D:\soft install\MATLAB\work\qpsk','b:b');
N=length(P);
yk=P+j*Q;
yk=yk.^4;
flag=0;%加一句
for k=2:N
flag=flag+1;%加一句
m1=k-(N/2-1);
m2=N/2;
wk=(3*N)/[2*(N^2-1)]*[1-(m1/m2)^2];
delt_w=wk*angle(yk(k)*conj(yk((k-1))));
data(flag)=sum(delt_w);%data修改
end

由于没有数据,不好调试,这样修改应该可以解决你问题。
PS(如不行,请追问)
温馨提示:答案为网友推荐,仅供参考
相似回答