怎么用Matlab解方程?
工具/材料
matlab 2016a
操作方法 01
打开matlab,先定义变量x:
symsx;
02
matlab中求解函数的格式为solve(f(x),x),解为f(x) = 0。
第一个例子是求解最常见的一元二次方程x2-3 * x+1 = 0:
SOLVE(x2-3 * x+1,x),结果用精确根表示。
03
matlab求解的根不仅包括实根,还包括复根。比如解三次方程x ^ 3+1 = 0:
SOLVE(x ^ 3+1,x)
我们知道这个方程有一对共轭复根,matlab也可以求出它的解。
04
对于5次(含)以上的一元函数,有时用solve指令找不到对应的根,如下图所示。
您可以使用roots命令来解决这个问题。
root命令的参数是一个向量,其中方程的系数按照从高次幂到低次幂的顺序排列,例如:x 5+3 * x 4-5 * x 3+4 * x 2-6 * x+2 = 0。如果solve命令获得的结果不令人满意,可以使用roots命令来满足。
05
对于非多项式方程,只能用solve。
比如exp (-x)-x 2+3 = 0的解法如下。
从黄色预警可以看出,这样的方程是没有解析解的,这和我们已知的知识是一样的。
06
最后一类方程是一组一元线性方程。
这是matlab的最佳运算,可以用矩阵求解。
对于齐次线性方程,使用null(A, aposr apos)。
其中“r apos就是用简化的梯形行列式求解。
对于下面的方程,可以得到一组线性无关的解。
这样,我们也可以引入常数k1和k2来表示通解。
07
对于线性非齐次解,可以使用linsolve(A,b)。
其中A为系数矩阵,B为非齐次项(如果B为多列矩阵,则表示求解多个具体系数齐次项不同的方程)。
对于图中的方程,可以这样解。
特别提示
matlab中解方程的方法有很多种,需要多练习才能找到适合自己需求的。