前言: 有朋友问我如何使用 matlab 求解方程组,他查不到,且不太会写代码,我查了一下,总结了个模板。
假设要解一个三元方程组如下:
我们的求解过程如下。
% 首先声明符号变量
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 306
In equations at 14
x =
10.044861348830706718130912031098
y =
4.9795861545146561508942123172393
z =
-0.06527519431605056723669971385847