本人在用matlab解多个方程组时遇到了问题,下面是我写的函数和程序,但是在求解时每次都需要估算初值,需要迭代好多次,希望大神能帮我改进matlab代码,或者将误差设置为小于1e-8,谢谢!
函数为:
function F=concen(x)
F(1)=x(1)+x(2)-0.839;
F(2)=x(3)+x(4)+x(5)-0.54136;
F(3)=x(6)+x(7)+x(8)+x(4)+x(5)-50;
F(4)=x(2)+x(7)-x(4)-2*x(5)-x(8);
F(5)=0-(x(7)*x(8)/x(6)^2);
F(6)=0.4786e-6-(x(7)*x(4)/(x(6)^2*x(3)));
F(7)=0.0001e-6-(x(7)*x(5)/(x(6)*x(4)));
F(8)=0.0279e-6-(x(7)*x(1)/(x(6)*x(2)));
x0 = [0.2309;0.6081;0.0010;0.4726;0.0677;49.4596;0.0001;0.0001];
options = optimoptions('fsolve','Display','iter');
[x,fval] = fsolve(@concen,x0,options)
|
|