我想知道关于Matlab fsolve 技术的具体内容。如代码所示,有两个非线性方程。我通常可以解决它们,但我想优化这个过程。观察到在这两个方程中存在共同的术语 2 * x(1)^ 2-3 * x(2)^ 3 。问题是,我可以为公共部分声明一个单独的术语并使用fsolve(如注释部分中所述)吗?如果是的话,任何人都可以告诉我如何做。
function f = sym4(x)
f(1)= 8*x(1)^2 -12*x(1)^3 +x(1)*x(2)+ x(2)^2-1;
f(2)= 2*x(1)^3 - 3*x(1)^4 +x(2)-3;
% z = 2*x(1)^2 - 3*x(2)^3;
%
% f(1)= 4*z + x(2)^2 + x(1)*x(2) -1;
% f(2)= x*z +x(2)-3;
end
答案 0 :(得分:0)
是的,您可以使用中间变量,这可能会更快,因为常用术语仅评估一次。正如霍克勒指出的那样,你应该检查你的指数。