打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Matlab 一般方程 数值求解 solve

MATLAB为我们求解方程及方程组提供了便利条件.

1 任意函数方程与线性方程组

MATLAB命令输人格式:

solve('eqqu1','equ2',...'equN')

solve('eqqu1','equ2',...'equN','val1','val2'...,'valN')

其中 eqni表示第i个方程,vari表示第i个变量i=12,…,N

1.一般方程

例如,求解方程 x x^2+b*x+c=0

输入:solve('x^2+b*x+c')

输出:
-1  -1/2*b+1/2*(b^2-4*c)^(1/2)
-1/2*b-1/2*(b^2-4*c)^(1/2)

注意:如果不能求得精确的符号解,可以计算可变精度的数值解.

2.多项式方程

 

除了用上面求解一般方程的方法外,还可以直接用求解多项式方程的MATLAB函数roots(p) ,其中p是多项式的系数按降幂排列所形成的nl维列向量,它能够给出全部根(包含重根)。

求解多项式方程

x^9+x^8+1=0

输入:

p=[1,1,0,0,0,0,0,0,0,1];

输出:

-l213

-09017+05753 i

-09017-05753 i

-02694+09406 i

-02694-09406 i

04168+08419 i

04168-08419i

08608+03344i

08608-03344i

注意:也可以用  solve

求解,有何区别?
3
.线性方程组

除了使用MATLAB函数solve以外,还可以用其他的MATLAB命令.如果将线性方程组写成矩阵形式AXb,就可以考虑用几种形式之一求解.

linsolve(A,b);sym(A)\sym(b);A\b;inv(A)*b;pinv(A)*b

其中inv(A)表示 A的逆矩阵,因此要求 A为方阵且可逆;pinvA表示 A的广义逆矩阵,A可以为任意矩阵.

*********************************************************************

想:以上MATLAB函数均可以对任意的线性方程组求解,不管有解,无解、有一个还是有无穷多.它们有何区别?

A\b:

提示1)当Ax=b有唯一解时,给出该唯一解;

2)当其有无穷多解时,给出其中零元素最多的一组解;

3)当其无解时,给出一个最小二乘(广义)解.

pinvA*b:当 AXb有无穷多解时,给出其中一个最小范数解;

其他两种情形与Ab相同.

linsolve(A,b):对齐次方程组,等价于Ab

sym(A)\sym(b):linsolve(A,b)相同.

考虑以下几个求解线性方程组AXb的例子:

1A=[4 1 0l -1 52 2 -3]b[6 14 -3]

2A=[4 3 03 4 -l0 -1 4]b[2430-24]

3A=hilb(12),b=sum(A)';A=hilb(20),b=sum(A)’.其中hilb(n)表示N阶希尔伯特矩阵

分析:

1)此例中rank(A)=rank(A|b)=2<3,说明方程组有无穷多解;

2)此例中rank(A)=rank(A|b)=3,说明方程组有唯一解;

3)此例是希尔伯特方程,rank(A)=rank(A|b)=n ,说明方程组有唯一解。

2 非线性方程组

一些非线性方程组仍然可以用。Solve()函数进行求解,一般给出的是数值解,例如,

输人:

[x,y]=solve('sinxy-exp(x)*y0','x^2y2’)

输出:

x = -601 73272500593065641097297 79505

y=34208227234306296508646214438330

也可以用以下fsolve()进行求解,输人格式为

fsolve(’FUN’,X0

其中FUNM文件函数,X0表示变量的初始点.例如求解下列方程组

3)计算结果 y=

0599 2.3959 20050

number=

34

其中迭代步骤为34次.

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
__02 (修改中...)数学软件2 MATLAB数学运算基础(97-03doc)
6.6 线性方程
轮子终于造好了!
样条插值
线性代数知识点框架
【转】Matlab求解线性方程组
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服