【问题标题】:DocPolynom.m and the 'length' function in MatlabDocPolynom.m 和 Matlab 中的“长度”函数
【发布时间】:2012-03-29 10:17:42
【问题描述】:

我编写了一个函数,其中包含一个数组 A 作为变量,其条目是多项式(例如 A{1} = DocPolynom([1 2 3]))。

我希望能够为 A 的每个条目找到向量 double(A{i}) 的长度。我写了

长度(双(A{i}));

但由于某种原因,这里 Matlab 认为“长度”是一个变量。为什么是这样?我怎样才能绕过它?

谢谢

【问题讨论】:

  • 你得到什么错误信息?
  • @OliCharlesworth 我的函数相当复杂。当我运行它时,我收到错误:“length”以前似乎被用作函数或命令,与它在这里用作变量的名称相冲突。此错误的一个可能原因是您忘记初始化变量,或者您已使用 load 或 eval 隐式初始化它。
  • 你能发布一个 minimal 测试用例吗? (就像演示问题的 10-15 行函数)
  • @OliCharlesworth 是的,当然。我会将其添加到原始问题中。虽然可能需要一段时间 - 我的函数严重依赖于其他自定义函数。
  • 太棒了(您可能会在执行此操作时发现问题!)。但与此同时,最可能的原因是,不知何故,在某个地方,您最终创建了一个名为 length 的变量。

标签: matlab


【解决方案1】:

您似乎很可能以某种方式使用长度作为变量。 Matlab 不会阻止使用许多值名称。

另一种方法是使用 size() 函数。 size 实际上会返回每个维度的大小。根据数组的使用方式,您可能会使用这个:

size(A{i},1);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多