首页 > 解决方案 > MATLAB 黄油的问题

问题描述

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

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

标签: matlabbutterworth

解决方案


只是一个猜测,但你有没有机会定义自己的 poly 函数?which('poly')应该指向某个 Matlab 目录,除非您在其他地方定义了它,可能作为变量?对我来说,在较新的版本中,路径类似于$MATLAB/toolbox/matlab/polyfun/poly.m您还可以编辑 poly 函数edit poly并验证该函数是否有一个输出参数。

另外,我建议不要写没有前导零的十进制数字。我花了很长时间才弄清楚是什么[.15,.3]。而是写[0.15,0.3],甚至只是[0.15 0.3] 编辑:我刚刚意识到这是 Matlab 中的一个例子……我的观点是正确的,但工具箱作者应该知道得更好……


推荐阅读