1.MATLAB概述
MATLAB是由美国MathWorks公司推出的用于数值计算和图形处理的科学计算系统环境,可以实现数值计算与分析、矩阵运算、信号处理和图形生成等。在MATLAB环境下,使用者可以方便地进行程序设计、数值计算、图形绘制、数据的输入输出、文件管理等各项操作。
MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵。在生成矩阵对象时,不要求明确的矩阵维数说明。MATLAB常被用来解决一些实际课题和数学模型问题,其典型的应用有:数值计算、算法设计与验证,以及一些特殊的矩阵计算,如自动控制理论、数理统计、数字信号处理(时间序列分析)等。MATLAB系统由MATLAB语言体系、MATLAB工作环境、图形句柄系统、MATLAB数学函数库、MATLAB应用程序接口(API)5个主要部分组成。
2.MATLAB的主要特点
2.1强大的科学计算机数据处理能力
MATLAB是以矩阵为基础的,不需要预先定义变量和矩阵的维数,可以方便地进行矩阵的算术运算、关系运算和逻辑运算等。MATLAB是一个包含大量计算算法的集合。其拥有多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。拥有特殊矩阵专门的库函数,可以高效的求解诸如信号处理、图像处理、控制问题。
2.2简单易用的程序语言
MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。MATLAB语言简单、易学,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
2.3出色的图形处理功能
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
2.4应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计等。
2.5实用的程序接口和发布平台
MATLAB不仅有着丰富的库函数,在进行复杂的数学运算时可以直接调用,而且用户还可以根据需要方便地编写和扩充新的函数库。通过混合编程用户可以方便地在MATLAB环境中调用其他用Fortran或者C语言编写的代码,也可以方便地在C语言或者Fortran语言程序中调用MATLAB计算引擎来执行MATLAB代码。同时,在用VB编程过程中可以编写特定的语句来调用MATLAB,运用MATLAB方便的计算功能来实现VB中的复杂的运算功能。
2.6矩阵的创建
在MATLAB环境中,不需要对创建的变量对象给出类型说明和维数,所有的变量都作为双精度数来分配内存空间,MATLAB将自动地为每一个变量分配内存。其方法包括:直接输入法、利用函数和一句创建数值矩阵、利用M文件创建和保存矩阵,由于矩阵的维数比较小时采用直接输入法创建矩阵。
直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,元素与元素之间用空格或逗号分隔开,用分号将每行的元素分开。
例如,a=[;;]
MATLAB执行该语句,然后输出如下结果:
a=
2.7矩阵的数值运算
(1)矩阵的加、减运算
矩阵A与矩阵B的和的运算,使用A+B即可完成。
矩阵A与矩阵B的差的运算,使用A-B即可完成。
如:A=[;];B=[;]
C=A+B
C=
C=A-B
C=
-
-
(2)矩阵的乘运算
矩阵A与矩阵B的乘的运算,使用A*B即可完成。
A=[;]
B=[23;45;17]
C=A*B
C=
这里需要注意的是必须满足矩阵运算时对维数要求:矩阵A的列数等于矩阵B的行数。否则MATLAB执行该语句后会给出“出错”信息。
2.8矩阵的求逆运算
求矩阵A的逆矩阵B(即:B=A^(-1)),则直接使用B=inv(A)运算函数即可。
A=magic(3)
A=
B=inv(A)
B=
0.-0..
-0...
-0..-0.
2.9矩阵转置的运算
求矩阵A的转置矩阵B,则可直接使用B=A′
A=magic(3)
A=
B=A′
B=
59
2.10矩阵求广义逆的运算
求矩阵A的广义逆矩阵B,则直接使用B=PINV(A)即可。