我正在使用MATLAB R2015,如果没有从脚本polyfit
部分获得太多与输出参数有关的错误,就无法实现“黄油”。多年以来,我已经在其他版本的MATLAB中使用了相同的实现。
示例:
[b, a] = butter(2,[.15,.3]);
使用
poly
时出错
输出参数太多。
zp2ss
中的错误(第127行)
den = real(poly(p(i:i+1)));
butter
中的错误(第97行)
[a,b,c,d] = zp2ss(z,p,k);
在实施帮助文档中的示例时,我遇到了同样的错误。
答案 0 :(得分:2)
只是一个猜测,但是您是否有可能定义了自己的多边形函数? which('poly')
应该指向某个Matlab目录,除非您在其他地方定义了它(可能是变量?)。对于我来说,在较新的版本上,该路径类似于$MATLAB/toolbox/matlab/polyfun/poly.m
,您也可以编辑多边形函数edit poly
并验证该函数是否有一个输出参数。
此外,我建议不要写没有前导零的十进制数字。我花了很长时间才弄清楚[.15,.3]
是什么。而不是写[0.15,0.3]
或什至只写[0.15 0.3]
编辑:我刚刚意识到这是Matlab中的一个例子……我的观点是正确的,但工具箱作者应该更了解... < / p>