麻烦我的八度功能

时间:2015-04-24 11:25:14

标签: matlab function octave

我想我错过了一些非常基本的东西

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是标量。 我有矢量和标量参数的其他函数,但它们不返回列向量。

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

1 个答案:

答案 0 :(得分:3)

这个版本在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行中,空格被视为两个条目的分隔符,应将其删除。此外,还有一个不必要的支架。