1、对于比较简单的方程组,可以用solve()函数命令求解。如方程组 x + y = 1 ; x - 11y = 5
>>[x,y]=solve('x + y = 1','x - 11*y = 5')
又如方程组 exp(x+1)-y²=10 ;ln(x)+3y=7
>>syms x y
>>[x,y]=solve(exp(x+1)-y^2-10,log(x)+3*y-7,'x','y')
2、对于比较复杂的方程组,可以用数值方法中的牛顿迭代法,二分法来求解。如方程组
求解代码
x0=[1.0 1.0 1.0]';
tol = 1.0e-6;
x = x0 - newton_dfun(x0)\newton_fun(x0); %newton_dfun导函数,newton_fun函数
n = 1;
while (norm(x-x0)>tol) && (n<1000)
x0 = x;
x = x0 - newton_dfun(x0)\newton_fun(x0);
n = n + 1;
end
x
求解结果为
x = 0.69829;y = 0.62852;z= 0.34256