【问题标题】:trouble with my octave function我的八度函数有问题
【发布时间】:2015-04-24 11:25:13
【问题描述】:

我想我在这里遗漏了一些非常基本的东西

function F = non_iter(x,kc,kw) 
 F = [x(6)*x(4)*kc-3*x(2);
     x(2)*x(5)-kw*x(6)*x(3);
     x(2)+x(6)-1;
     x(1) -7.52;
     x(6)+2*x(4)+2*x(2)+x(3)-4;
     x(3)+x(5)-8];
end

当我这样称呼时,就像

fu = non_iter(x,kc,kw)

它说垂直尺寸不匹配(3x1 vs 1x2)

x 应该是长度为 6 的行向量,并且 kc 和 kw 是标量。 我还有其他带有向量和标量参数的函数,但它们不返回列向量。

我尝试在单独的文件中使用此函数,并使其与 @ 运算符内联。

【问题讨论】:

  • 在分号前的最后一行末尾有一个额外的右括号 )
  • 这里只是一个错字。我查了一下,这不是问题

标签: matlab function octave


【解决方案1】:

这个版本在 Matlab 上为我工作。

function F = non_iter(x,kc,kw) 
 F = [x(6)*x(4)*kc-3*x(2);
     x(2)*x(5)-kw*x(6)*x(3);
     x(2)+x(6)-1;
     x(1)-7.52;
     x(6)+2*x(4)+2*x(2)+x(3)-4;
     x(3)+x(5)-8];
end

F 的第 4 行中,空格被视为两个条目的分隔符,应将其删除。此外,还有一个不必要的括号。

【讨论】:

  • 做到了,空间是罪魁祸首。
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 2013-07-10
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
相关资源
最近更新 更多