MATLAB为我们matlab求解方程组方程及方程组提供了便利条件.
1 任意函数方程与线性方程组
MATLAB命令输人格式:
eqni表示第i个方程vari表示第i个变量,i=12,…N.
注意:如果不能求得精确的符号解,可以计算可变精度的数值解.
除了用上面matlab求解方程组一般方程的方法外还可以直接用matlab求解方程组多项式方程的MATLAB函数roots(p)
,其中p是多项式嘚系数按降幂排列所形成的n+l维列向量它能够给出全部根(包含重根)。
x^9+x^8+1=0
注意:也可以用 solve
除了使鼡MATLAB函数solve以外还可以用其他的MATLAB命令.如果将线性方程组写成矩阵形式AX=b,就可以考虑用几种形式之一matlab求解方程组.
其中inv(A)表示 A的逆矩阵因此要求
A为方阵且可逆;pinv(A)表示
A的广义逆矩阵,A可以为任意矩阵.
想:以上MATLAB函数均可以对任意的线性方程组matlab求解方程组不管有解,无解、有一个还是有无穷多.它们有何区别
提示1)当Ax=b有唯一解时,给出该唯一解;
2)当其有无穷多解时给出其中零元素最多的一组解;
3)當其无解时,给出一个最小二乘(广义)解.
AX=b有无穷多解时给出其中一个最小范数解;
其他两种情形与A\b相同.
考虑以下几个matlab求解方程组线性方程组AX=b的例子:
3)此例是希尔伯特方程,rank(A)=rank(A|b)=n 说明方程组有唯一解。
一些非线性方程组仍然可以用Solve()函数进行matlab求解方程组,一般給出的是数值解例如,
也可以用以下fsolve()进行matlab求解方程组输人格式为
其中FUN表M文件函数,X0表示变量的初始点.例如matlab求解方程组下列方程组
其Φ迭代步骤为34次.