第2章 MATLAB语言基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB 语言简介

MATLAB 语言——当今国际上科学界(尤其自动控制领域) 最具影响力、最有活力的软件。它起源于矩阵运算,已经发展成一种高度集成的交互式计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。由于其特色,它在各国高校与研究单位的控制系统仿真中起着重大的作用。

MATLAB 语言由美国Math Works公司开发,其最新版为MATLAB 7.11 (2010.9.3)

MATLAB 语言起源

MATLAB 语言首创者Cleve Moler 在数值分析,特别是在数值线性代数的领域中很有影响。他曾在密西根大学、斯坦福大学和新墨西哥大学任数学与计算机科学教授。1980年Moler 在讲授线性代数课程时,发现了用其他高级语言编程极为不便,便构思并开发了MATLAB, 这一软件利用了当时数值线性代数领域最高水平的EISPACK 和LINPACK两大软件包中可靠的子程序,用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件

系统。

交互式语言

⏹交互式语言:指人们给出一条命令,立即就可以得出该

命令的结果。

⏹该语言无需像C语言那样,首先要求使用者去编写源

程序,然后对之进行编译、连接,最终形成可执行文件。这无疑会给使用者带来了极大的方便。

⏹早期的MATLAB是用Fortran语言编写的,只能作

矩阵运算和简单绘图;内部函数也只提供了几十个。

Moler等人成立了MathWorks的公司。84 年推出了MATLAB 的商业版本。当时的MATLAB 版本已经用C 语言作了完全的改写,其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和它与其他流行软件的接口功能,使MATLAB 的功能越来越强大。

MATLAB 功能和发展

⏹92 年推出了4.0 版本, 可以配合Windows 使用。

⏹94 年推出的4.2 版本扩充了功能,尤其在图形界面

设计方面更提供了新的方法。

⏹97 年推出的5.0 版允许了更多的数据结构,如单元

数据、数据结构体、多维矩阵、对象与类等,使其成为一种更方便编程的语言。

⏹99 年初推出的 5.3 版在很多方面又进一步改进了

MATLAB 语言的功能。

⏹00 年底推出了其全新的6.0 正式版,在核心数值算

法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。

⏹02年6.5 正式版——; 04年7.0 正式版——

⏹MATLAB 语言是计算数学专家倡导并开发的,但有

代表性的成就和控制界的要求与贡献是分不开的。大多数工具箱也都是控制方面的。它在工程领域的应用越来越广,并且有着更广阔的应用前景.

MATLAB的特色

(1)数学运算能力强大

⏹考虑两个矩阵A 和B 的乘积问题,在C 语言中

要实现两个矩阵的乘积并不仅仅是一组双重循环的问题。除此之外要考虑的问题

A 和

B 是复数矩阵怎么考虑;

其中一个是复数矩阵时怎么考虑;

全部是实系数矩阵时又怎么管理;

判断这两个矩阵是否可乘;等等

所以说,没有一定的时间,用C 语言很难编写出考虑各种情况的子程序。有了MATLAB 这样的工具,A 和B 矩阵的乘积用A*B 这样简单的算式就能表示了。

例:如何生成一个3x3 魔方矩阵——将自然数1, 2, ..., 9 分别置成这9个矩阵元素,怎样才能使得每一行每一列、且主、反对角线上元素相加都等于一个相同的数。

用MATLAB 的magic() 函数,我们可以由下面的命令立即生成这样的矩阵:

>> A=magic(3)

A =

8 1 6

3 5 7

4 9 2

可以由B=magic(10) 一次生成10x10 的魔方矩阵。

如果想求出矩阵的行列式和特征值,可以由det(B) 与eig(B) 立即得出结果,而同样的工作在C 下并不是很简单就可以得出的,算法选择不好,还可能得出错误的结果。

(2)绘制图形方便、美观、准确

第二章MATLAB语言基础

MATLAB语言源自线性代数中的数学运算,最初是基于矩阵的运算工具,这也是MATLAB (Matrix Laboratory)的由来。

2.1矩阵的运算

MATLAB语言最基本、最重要的功能就是进行实数或复数的矩阵运算,其所有的数值功能都以矩阵为基本单元来实现。

2.1.1矩阵的输入

分为直接赋值法和增量赋值法

1.直接赋值法

矩阵的输入必须以方括号“[ ]”作为其开始和结束的标志,矩阵的行与行之间要用分号‘;’,每行内的元素用空格或逗号分开。

>> a=[1 2 3;4 5 6;7 8 9]

或>> a=[1,2,3;4,5,6;7,8,9]

或>> a=[1 2 3;4,5,6;7,8,9] %逗号和空格可同时出现

结果是:a =

1 2 3

4 5 6

7 8 9

对于比较大的矩阵,可用回车键代替分号,对同一行的内容也可利用续行符号“…”,把一行的内容分两行来输入。

>> a=[1,2,3

4,5,6

7,8,9]

或>> a=[1,2,3;4,5,...

6;7,8,9]

结果仍然是:a =

1 2 3

4 5 6

7 8 9

MATLAB语言的变量名称字符区分大小写,字符A 与a是两个不同的矩阵变量名。在MATLAB语言命令行的最后如果加上分号‘;’,则在命令窗口中不会显示输入

相关文档
最新文档