我想我错过了一些非常基本的东西
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是标量。 我有矢量和标量参数的其他函数,但它们不返回列向量。
我尝试在单独的文件中使用此函数,并使其与@运算符内联。
答案 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行中,空格被视为两个条目的分隔符,应将其删除。此外,还有一个不必要的支架。