科学计算与 MATLAB语言
教学内容
第 1讲介绍 MATLAB概述与运算基础
第 2讲介绍 MATLAB程序设计
第 3讲 MATLAB文件操作
第 4讲绘图形功能
第 5讲线形代数中的数值计算问题
第 6讲数据处理方法与多项式
第 7讲 MATLAB符号计算
第 8讲 MATLAB的图形用户界面设计
第一讲 MATLAB概述与运算基础
MATLAB语言是一种广泛应用于工程
计算及数值分析领域的新型高级语言, 自
1984年由美国 MathWorks 公司推向市场
以来, 历经十多年的发展与竞争, 现已成
为国际公认的最优秀的工程应用开发环境 。
MATLAB功能强大, 简单易学, 编程效
率高, 深受广大科技工作者的欢迎 。
在欧美各高等院校,MATLAB已经
成为线性代数、自动控制理论、数字信
号处理、时间序列分析、动态系统仿真、
图像处理等课程的基本教学工具,成为
大学生、硕士生以及博士生必须掌握的
基本技能。
MATLAB:
是英文 MATrix LABorotory(矩阵实验室 )
的缩写。
一, MATLAB特点,
一, MATLAB特点,
1,数值计算和符号计算功能
MATLAB的数值计算功能包括:矩阵运算、多项式和有
理分式运算、数据统计分析、数值积分、优化处理等。符
号计算将得到问题的 解析 解。
2.MATLAB语言
MATLAB除了命令行的交互式操作以外,还可以程序方式
工作。使用 MATLAB可以很容易地实现 C或 FORTRAN语言的
几乎全部功能,包括 Windows图形用户界面的设计。
3.图形功能
MATLAB提供了两个层次的图形命令:一种是对图形句柄进
行的低级图形命令, 另一种是建立在低级图形命令之上的高
级图形命令 。 利用 MATLAB的高级图形命令可以轻而易举地
绘制二维, 三维乃至四维图形, 并可进行图形和坐标的标识,
视角和光照设计, 色彩精细控制等等 。
4.应用工具箱
基本部分和各种可选的工具箱。
基本部分中有数百个内部函数。
其工具箱分为两大类:功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能、可视建模仿真
功能及文字处理功能等。学科性工具箱专业性比较强,如控
制系统工具箱、信号处理工具箱、神经网络工具箱、最优化
工具箱、金融工具箱等,用户可以直接利用这些工具箱进行
相关领域的科学研究。
一, MATLAB特点,
二,MATLAB运行环境
二,MATLAB运行环境
硬件:
一般要求 486以上的处理器,16MB以
上内存、足够的的硬盘可用空间 (随安装
组件的多少而定 ),CD-ROM驱动器、鼠
标等。
软件:
Windows 9x
三, MATLAB集成环境
三, MATLAB集成环境
MATLAB 5.X是一个高度集成的语言环境, 在该环境下既可
以进行交互式的操作, 又可以编写程序, 运行程序并跟踪调试程序 。
1,MATLAB的启动
与一般的 Windows 95程序一样, 启动 MATLAB有两种常见方法:
(1)通过, 开始, 按钮, 选择, 程序, 菜单项, 然后打
开, MATLAB”菜单中的, MATLAB”程序, 就可启动
MATLAB系统
(2) 利用 Windows 95建立快捷方式的功能, 将 MATLAB
程序以快捷方式放在桌面上 。 只要在桌面上双击该图标
即可启动 MATLAB
2,MATLAB命令窗口
(1) 命令窗口的菜单栏
菜单栏共包含 File,Edit,Window和 Help四项 。
File菜单项,
New命令:用于建立 M文件, 图形窗口 。
Open命令:打开一个已经建立的 M文件 。
Run Script命令:执行一个命令文件 。
Load Workspace命令:将变量装入当前空间。
Save Workspace As命令:把当前工作空间的所有变量用后缀
为,mat的文件保存起来。
三, MATLAB集成环境
File菜单项,
Show Workspace命令:打开变量浏览器 。
Set Path命令:打开 MATLAB的路径浏览器 。
Preferences命令:打开命令窗口的显示格式 。
Print Setup命令:设置打印机的参数 。
Print命令:打印和设置一些打印参数 。
Print Selection命令:打印选中的内容 。
Exit MATLAB命令:退出 MATLAB系统 。
三, MATLAB集成环境
2,MATLAB命令窗口
Edit菜单项:
Undo,Cut,Copy和 Paste等命令:分别用于撤销上一
次操作, 剪切, 复制和粘贴 。
Clear命令:删除内容 。
Select All命令:用于选定所有文本内容 。
Clear Session命令:清除命令编辑区的全部内容, 但并
不删除工作空间中的变量 。
三, MATLAB集成环境
2,MATLAB命令窗口
Help菜单项,
Help Window命令:打开 MATLAB的帮助窗口 。
Help Tips命令:打开帮助窗口, 并首先显示 MATLAB的
帮助系统的分类和使用方法 。
Help Desk(HTML)命令:打开系统 WWW浏览器, 并显示
MATLAB的帮助桌面 。
Examples and Demos命令:可以通过演示 MATLAB提供的
例子来熟悉相关部分的用法。
About MATLAB命令:打开关于 MATLAB的版本和版权
等信息。
Subsribe命令:打开机器上的 WWW浏览器,用户可过填
写相关的表格来获得 MathWorks公司的产品。
三, MATLAB集成环境
2,MATLAB命令窗口
Window菜单项:
利用 Window菜单项可以查看目前 MATLAB打开的所有
窗口, 并可选中某个窗口为当前窗口, 从而实现在不同
窗口之间的转换 。
三, MATLAB集成环境
2,MATLAB命令窗口
(2) 命令窗口的工具栏
工具栏提供了一些命令按钮, 使用命令按钮可使操作
更快捷, 更方便 。
工作空间
新建 剪切 粘贴 浏览器 新仿真模型
打开 复制 撤消 路径浏览器 帮助
三, MATLAB集成环境
2,MATLAB命令窗口
(3) 命令窗口的命令编辑区
命令编辑区用于输入命令和显示计算结果。键入命令
并按下回车键后,MATLAB就会解释执行所输入的命令,
并在命令后面给出计算结果。
例如,在 MATLAB命令窗口输入命令:
a=[1,1.5,2,9,7 ; 0,3.6,0.5,-4,4 ; 7,10,-
3,22,33; 3,7,8.5,21,6; 3,8,0,90,-20]
将显示一个 5*5矩阵 。
三, MATLAB集成环境
2,MATLAB命令窗口
( 4) MATLAB帮助系统
MATLAB 5.X里有以下几种方法可获得帮助:帮助
命令, 帮助窗口, MATLAB帮助桌面或在线帮助页 。 对
于 Internet用户, 还可直接链接到 MathWorks公司的网页
上 (http://www.mathworks.com)寻求帮助 。
三, MATLAB集成环境
2,MATLAB命令窗口
3,MATLAB的退出
要退出 MATLAB系统, 有三种方法:
(1)单击 MATLAB命令窗口的, 关闭, 按钮 。
(2)在命令窗口 File菜单中选 Exit MATLAB命令 。
(3)在 MATLAB命令窗口输入 Exit和 Quit命令 。
在 MATLAB中, 变量名是以字母开头, 后接
字母, 数字或下划线的字符序列, 最多 19个字符,
且区分字母的大小写 。 MATLAB提供的标准函数
名必须用小写字母 。
三, MATLAB集成环境
四, MATLAB运算量
1, 变量和赋值语句
MATLAB赋值语句有两种形式:
(1) 变量 =表达式
(2) 表达式
其中, 表达式, 是用运算符将有关运算量连接起来的
式子, 其结果是一个矩阵 。
[ 注 ] 第二种语句形式下, 将表达式的值赋给
MATLAB的永久变量 ans。
如果在语句的最后加分号,那么,MATLAB仅仅执
行赋值操作,不再显示运算的结果。在一条语句中,如
果表达式太复杂,一行写不下,可以加上三个小黑点 (续
行符 )并按下回车键,然后接下去再写。例如 s=1-
1/2+1/3-1/4+1/5-1/6+1/7-… - 1/8+1/9-1/10+1/11-1/12;
四, MATLAB运算量
2, MATLAB表达式
算术表达式 。
运算符有:+ (加 ),- (减 ),*(乘 ),/(右除 ),\(左除 ),^(乘方 )
对于矩阵来说, 左除和右除表示两种不同的除数矩阵和被除
数矩阵的关系 。
关系表达式 。
运算符有,<(小于 ),<=(小于或等于 ),>(大于 ),>=(大于或等
于 ),==(等于 ),~ =(不等于 )
逻辑表达式。
运算符有,&(与 ),|(或 )和~ (非 )
四, MATLAB运算量
运算法则:
(1)在逻辑运算中, 确认非零元素为真, 用 1表示, 零
元素为假, 用 0表示 。
(2)参与逻辑运算的可以是两个标量, 两个同维矩阵或
参与逻辑运算的元素一个为标量, 另一个为矩阵 。
(3 )在算术, 关系, 逻辑运算中, 算术运算优先级最高,
逻辑运算优先级最低 。
四, MATLAB运算量
2,MATLAB表达式
五, 矩阵运算
矩阵是 MATLAB最基本的数据对象, MATLAB的大部分运算
或命令都是在矩阵运算的意义下执行的 。 在 MATLAB中, 不需
对矩阵的维数和类型进行说明, MATLAB会根据用户所输入的
内容自动进行配置 。
1, 建立矩阵
建立矩阵可以用:直接输入法, 利用函数建立矩阵和利
用 M文件建立矩阵 。
直接输入法,将矩阵的元素用方括号括起来,按矩阵行的顺
序输入各元素,同一行的各元素之间用空格或逗号分隔,不同
行的元素之间用分号分隔。 (也可以用回车键代替分号 )
例如,键入命令, A=[1 2 3;4 5 6;7 8 9]
输出结果是,A = 1 2 3
4 5 6
7 8 9
四, MATLAB运算量
利用函数建立数值矩阵,MATLAB提供了许多生成
和操作矩阵的函数, 可以利用它们去建立矩阵 。
例如,reshape函数和 diag函数等 。
reshape函数用于建立数值矩阵 。
diag函数用于产生对角阵 。
利用 M文件建立矩阵,对于比较大且比较复杂的矩阵,
可以为它专门建立一个 M文件 。 其步骤为:
第一步:使用编辑程序输入文件内容 。
第二步:把输入的内容以纯文本方式存盘 (设文件名为
mymatrix.m)。
第三步:在 MATLAB命令窗口中输入 mymatrix,就会
自动建立一个名为 AM的矩阵, 可供以后显示和调用 。
四, MATLAB运算量
1.建立矩阵
利用 M文件建立矩阵,对于比较大且比较复杂的矩阵,
可以为它专门建立一个 M文件 。 其步骤为:
第一步:使用编辑程序输入文件内容 。
第二步:把输入的内容以纯文本方式存盘 (设文件名为
mymatrix.m)。
第三步:在 MATLAB命令窗口中输入 mymatrix,就会
自动建立一个名为 AM的矩阵, 可供以后显示和调用 。
四, MATLAB运算量
1.建立矩阵
2, 冒号表达式
在 MATLAB中, 冒号是一个重要的运算符 。 利用它可以
产生向量, 还可用来拆分矩阵 。 冒号表达式的一般格式是:
e1:e2:e3其中 e1为初始值, e2为步长, e3为终止值 。 冒号
表达式可产生一个由 e1开始到 e3结束, 以步长 e2自增的行向
量 。
四, MATLAB运算量
3, MATLAB常用数学函数
MATLAB提供了许多数学函数, 函数的自变量规定为
矩阵变量, 运算法则是将函数逐项作用于矩阵的元素上,
因而运算的结果是一个与自变量同维数的矩阵 。
例如,A= [1 2 3;4 5 6]
B=fix(pi*A)
C=cos(pi*B)
4, 矩阵的基本运算
( 1 ) 矩阵转置
( 2 ) 矩阵加和减
( 3 ) 矩阵乘法
( 4 ) 矩阵除法 A\b=inv(A)*b
( 5 ) 矩阵的乘方 a^2
四, MATLAB运算量
5, 建立矩阵的函数
常用函数有:
eye(size(A)) 产生与 A矩阵同阶的单位矩阵
zeros(m,n) 产生 0矩阵
ones(m,n) 产生幺矩阵
rand (m,n) 产生随机元素的矩阵
Size(a) 返回包含两个元素的向量 。
Length(a) 返回向量的最大者 。
四, MATLAB运算量
6, 数组运算
( 1) 数组的加和减
( 2) 数组的乘和除
( 3) 数组的乘方
六.应用举例
【 例 1】 求解线性方程组 AX=B
1 1.5 2 9 7 3
0 3.6 0.5 -4 4 -4
其中 A= 7 10 -3 22 33, B= 20
3 7 8.5 21 6 5
3 8 0 90 -20 16
在 MATLAB命令窗口输入命令:
a=[1,1.5,2,9,7 ; 0,3.6,0.5,-4,4 ; 7,10,-3,22,33 ;
3,7,8.5,21,6; 3,8,0,90,-20];
b=[3;-4;20;5;16];
x=a\b
得到的结果是:
x =
3.5653
-0.9255
-0.2695
0.1435
0.0101
【 例 2】 求方程 x^4+7x^3 +9x-20=0的全部根 。
在 MATLAB命令窗口输入:
p=[1,7,0,9,-20]; %建立多项式系数向量
x=roots(p) %求根
得到的结果是:
x =
-7.2254
-0.4286 + 1.5405i
-0.4286 - 1.5405i
1.0826