收到有关函数参数的 MATLAB 错误
Receiving MATLAB Error Regarding Function Arguments
当 运行 我的 MATLAB 脚本在下面时,我不断收到一条错误消息:
使用 spa 时出错(第 147 行)
window 的价值
大小必须是大于 2 的整数。
"projectName" 错误 G = spa(xFunction2, x)
我已经尝试将多种类型的参数放入 "spa"(数据、window 大小、频率),但它仍然会产生相同的错误。帮助?
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));
根据 spa 的文档,第一个参数是 iddata
类型。此外,时间序列必须是列向量。
因此,要使其正常工作,请将 G = spa(xFunction2,51);
更改为 G = spa(xFunction2(:),51);
。要以正确的方式进行操作,请将您的时间序列转换为 iddata
:
Ts = 0.1; % what ever is your sampling time.
myiddata = iddata(xFunction2(:),[],Ts);
G = spa(myiddata,51);
此外,您应该使用spectrum(G)
或bode(G)
绘制结果。
当 运行 我的 MATLAB 脚本在下面时,我不断收到一条错误消息:
使用 spa 时出错(第 147 行)
window 的价值 大小必须是大于 2 的整数。"projectName" 错误 G = spa(xFunction2, x)
我已经尝试将多种类型的参数放入 "spa"(数据、window 大小、频率),但它仍然会产生相同的错误。帮助?
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));
根据 spa 的文档,第一个参数是 iddata
类型。此外,时间序列必须是列向量。
因此,要使其正常工作,请将 G = spa(xFunction2,51);
更改为 G = spa(xFunction2(:),51);
。要以正确的方式进行操作,请将您的时间序列转换为 iddata
:
Ts = 0.1; % what ever is your sampling time.
myiddata = iddata(xFunction2(:),[],Ts);
G = spa(myiddata,51);
此外,您应该使用spectrum(G)
或bode(G)
绘制结果。