【发布时间】:2014-06-23 20:12:36
【问题描述】:
我在 Linux 上运行 Matlab 2014a 并尝试使用 fir1 函数应用一个简单的 FIR 滤波器。无论我如何尝试构建过滤器,我都会收到以下错误:
>>fir1(15,[0.1])
Error using *
Inner matrix dimensions must agree.
>>Error in firls (line 80)
cos_ints = [omega; sin((1:N)' * omega)];
>>Error in fir1 (line 121)
hh = firls(L-1,ff,aa);
我使用调试器转到代码行,看起来它总是试图将长度(顺序)的列向量 (1:N)' 与另一个列向量 omega 相乘。这没有任何意义。 fir1 功能是否损坏,或者我做错了什么?即使我尝试运行 MathWorks 提供的示例,也会出现此错误。
【问题讨论】:
-
您是否尝试过不带方括号的第二个输入参数?例如。
fir1(15,0.1)。不幸的是,MATLAB Version: 8.1.0.604 (R2013a)我无法重现该错误。对我来说,fir1(15,0.1)和fir1(15,[0.1])都可以工作。 -
它也适用于 R2010b