MATLAB butter问题

时间:2019-01-02 02:24:25

标签: matlab butterworth

我正在使用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);

在实施帮助文档中的示例时,我遇到了同样的错误。

1 个答案:

答案 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>