哥们,这里面涉及一个很有意思的问题,那就是你写的那个时域信号表达式太长,中间换行了,而matlab是不可以像C++那样任意换行的,你改成下面这样就可以了 gl=Ak
(1)*sin(2*pi*16*t+fik
(1))+Ak
(2)*sin(2*pi*32*t+fik
(2))... +Ak
(3)*sin(2*pi*48*t+fik
(3))+Ak
(4)*sin(2*pi*64*t+fik
(4))... +Ak
(5)*sin(2*pi*80*t+fik
(5))+Ak
(6)*sin(2*pi*96*t+fik
(6))... +Ak
(7)*sin(2*pi*350*t+fik
(7))+Ak
(8)*sin(2*pi*500*t+fik
(8))... +Ak
(9)*sin(2*pi*850*t+fik
(9))+Ak
(10)*sin(2*pi*900*t+fik
(10));%时域正弦信号 matlab的续行符号是“...” 如果不要随机相位,这个信号可以简化为 gl = Ak*(sin(2*pi*fk'*t); 不然的话我就只会用循环了 gl = zeros(1,Ndata); for i=1:10 gl = gl+Ak(i)*sin(2*pi*fk(i)*t+fik(i)); end