【问题标题】:Matlab fir1 function errorMatlab fir1函数错误
【发布时间】: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

标签: matlab signal-processing


【解决方案1】:

我猜 Matlab 的 firls 函数被另一个同名函数屏蔽了,该函数位于 Matlab 的路径中,因此从 fir1 调用。

当你输入时你会得到什么:

哪一个

? - 你应该得到以\toolbox\signal\signal\firls.m结尾的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多