matlab怎么计算方程组
1个回答
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询