我的八度功能有问题

trouble with my octave function

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

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 对 1x2)

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

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

我在 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 行中,白色space 被视为两个条目的分隔符,应将其删除。此外,还有一个不必要的括号。