前言:有朋友问我如何使用 matlab 求解方程组,他查不到,且不太会写代码,我查了一下,总结了个模板。
假设要解一个三元方程组如下:
{x2+siny−z=100x−y+z=5xz+cosy=6z\left\{\begin{aligned} x^2 + \sin{y} - z & = & 100 \\ x - y + z & = & 5 \\ xz + \cos{y} & = & 6z \\ \end{aligned}\right.⎩⎪⎨⎪⎧x2+siny−zx−y+zxz+cosy===10056z
我们的求解过程如下。
% 首先声明符号变量syms x y z;% 列出等式,字符串形式,因此要加单引号eq1 = 'x^2 + sin(y) - z = 100';eq2 = 'x - y + z = 5';eq3 = 'x * z + cos(y) = 6 * z';% 使用 solve() 函数求解[x, y, z] = solve(eq1, eq2, eq3, 'x', 'y', 'z')
matlab 针对复杂的方程使用数值计算
的方式求解,此时x, y, z
应该已经在你的工作区里。你也可以在控制图输入x
等变量名称查看数值解。
警告: Cannot solve symbolically. Returning a numeric approximation instead. > In solve at 306In equations at 14 x =10.044861348830706718130912031098y =4.9795861545146561508942123172393z =-0.06527519431605056723669971385847