接收关于函数参数的MATLAB错误

时间:2016-10-26 22:22:05

标签: matlab analysis spectral

在下面运行我的MATLAB脚本时,我不断收到错误消息:

  1. 使用 spa 时出错(第147行)
    窗口的值 size必须是大于2的整数。

  2. “projectName”中的错误G = spa(xFunction2,x)

  3. 我尝试将多种类型的参数放入“spa”(数据,窗口大小,频率),但它仍会产生相同的错误。救命?

    n = 1:1024; 
    
    %Signal Function 
    xFunction = sqrt(10)*exp(j*2*pi*0.10*n)+ sqrt(20)*exp(j*2*pi*0.20*n) + sqrt(625); 
    
    %Complex Noise Function
    zFunction = 0.707*randn(size(n)) + j*0.707*randn(size(n));
    
    %Computing the value of x(n) + sqrt(625)*z
    xFunction2 = xFunction + sqrt(625)*zFunction;  
    
    G = spa(xFunction2,51);
    figure(1); 
    plot(w, 10*log10(G)); 
    

1 个答案:

答案 0 :(得分:1)

根据spa的文档,第一个参数是iddata类型。此外,时间系列必须是列向量。 因此,要使其有效,请更改G = spa(xFunction2,51);的{​​{1}}。要以正确的方式执行此操作,请将您的时间系列转换为G = spa(xFunction2(:),51);

iddata

此外,您应该使用Ts = 0.1; % what ever is your sampling time. myiddata = iddata(xFunction2(:),[],Ts); G = spa(myiddata,51); spectrum(G)来绘制结果。