1.1.2 “computing”—MATLAB可以用来计算

1.1.2 “computing”—MATLAB可以用来计算

如果了解数值方法且编程水平足够高,则任何编程语言都可以用来计算。但由于MATLAB内置了很多计算方法及其函数实现,即使不懂数值方法,也可以进行一些复杂计算。

例3:求一个矩阵的逆阵,并进行矩阵相乘运算。

输出结果为

解释:inv()是MATLAB的函数,表示求矩阵的逆阵。b'表示矩阵b的转置。

从MATLAB的名字可以看出,MATLAB是以矩阵运算见长的[2]。MATLAB的矩阵运算都经过很好的优化,且大多用内部函数实现,因此计算效率很高。虽然MATLAB是解释性语言,但矩阵运算在MATLAB环境中并不慢。除矩阵运算外,MATLAB中还提供了很多其他数值计算的函数,包括微积分、插值、拟合等,此外,还专门有优化、微分方程求解等工具箱,可以很方便地调用这些函数进行数值计算,且计算速度较快。

例4:进行最小二乘直线拟合。

拟合结果如图1-1所示。

图1-1 最小二乘拟合示意

上例中仅用polyfit一个函数就完成了数据的最小二乘拟合(该函数可以完成任意阶次的多项式拟合)。

由于MATLAB语法简单,用MATLAB进行计算非常方便。事实上,如果不善于或不喜欢使用Windows的计算器,MATLAB完全可以用作一个计算器。如在Command Window中输入

输出结果为

MATLAB甚至还可以进行符号运算,如例5所示。

例5:求一个符号矩阵的特征值。

上述计算结果是矩阵的两个特征值的表达式[3]