确认版本为matlab 7.0或更高; matlab 6.5及以下有部分命令不兼容
下面的命令都可以直接在Command Window输入,建议初学时直接在Command Window输入即可,如图
1.最简单的解方程方法
%表示注释,没用作用
隐藏行号 复制代码? 这是一段程序代码。%解方程
a = solve('x+y-z=0','x+y=1','x-z=0')
%获得解
a.x
a.y
a.z
2.线性方程组
解 x1+x2=2; x1-x2=0;
可用矩阵AX=b表示,则X=inv(A)*b,其中inv表示求逆
隐藏行号 复制代码? 这是一段程序代码。A=[1 1; 1 -1]
b=[2; 0]
X=inv(A)*b
3.非线性方程数值解
解方程组
代码如下
隐藏行号 复制代码? 这是一段程序代码。x0 = [1; 1]; % 设定迭代初值,若不清楚设为1即可
options=optimset('Display','off'); % 设定计算过程不显示多余的信息
%下面一句不要换行
[x,fval] = fsolve( @(x) [2*x(1) - x(2) - exp(-x(1)); -x(1) + 2*x(2) - exp(-x(2))], x0, options)
前面两种方法的结果可以是代数式,此方法只能求数值解,然而效率更高