《MATLAB语言及其应用》教案(最新整理)

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

MATLAB语言及其应用


任课教师:罗靖宇
任课班级:09通信(1)(2)
教材:MATLAB程序设计与应用(第二版)
作者:刘卫国主编出版社:高等教育出版社
内容:
书籍简介:本书以MATLAB 7.0版为蓝本介绍MATLAB 功能与应用强调理论和实践相结合贴近读者需要注重讲清有关数学方法和算法原理前提下介绍MATLAB功能;注
重和有关学科领域结合,突出应用
书中有许多应用实例些实例既是对MATLAB重点
和难点诠释又可以更好地帮助读者应用MATLAB 来解决实际问题具有很强代表性。

全书分为基础篇应用篇和实验篇基础篇包括MATLAB 系统环境MATLAB数据及其运
算MATLAB
矩阵分析与处理 MATLAB 程序设计MATLAB 图MATLAB 数值计算MATLAB符
号计算应用篇包括MATLAB图形用户界面设
计MATLAB Notebook使用MATLAB
Simulink 仿真软件MATLAB 外部程序接口技术MATLAB 应用实验篇和教学内容相配合包括15实验以帮助读者更好地上机操作。

本书可作为高等学校理工科各专业大学生或研究生学习教材也可供广大科技工作者参考。

第1章MATLAB系统环境
1.1 MATLAB概貌
1.1.1 MATLAB 发展
1.1.2 MATLAB 主要功能
1.1.3 MATLAB功能演示
1.2 MATLAB环境准备
1.2.1 MATLAB 安装
1.2.2 MATLAB 启动与退出
1.3 MATLAB操作界面
1.3.1 主窗口
1.3.2 命令窗口
1.3.3 工作空间窗口
1.3.4 当前目录窗口和搜索路径 1.3.5 命令历史记录窗口
1.3.6 Stalt菜单
1.4 MATLAB帮助系统
1.4.1 帮助命令
1.4.2 帮助窗口
1.4.3 演示系统
第2章MATLAB数据及其运算
2.1 MATLAB数据特点
2.2 变量及其操作
2.2.1 变量与赋值
2.2.2 变量管理
2.2.3 数据输出格式
2.3 MATLAB矩阵表示
2.3.1 矩阵建立
2.3.2 冒号表达式
2.3.3 矩阵拆分
2.4 MATLAB数据运算
2.4.1 算术运算
2.4.2 关系运算 2.4.3 逻辑运算
2.5 字符串
2.6 结构数据和单元数据
2.6.1 结构数据
2.6.2 单元数据
第3章MATLAB矩阵分析与处理
3.1 特殊矩阵
3.1.1 通用特殊矩阵
3.1.2 用专门学科特殊矩阵
3.2 矩阵结构变换
3.2.1 对角阵与三角阵
3.2.2 矩阵转置与旋转
3.3 矩阵求逆与线性方程组求解
3.3.1 矩阵逆与伪逆
3.3.2 用矩阵求逆方法求解线性方程组 3.4 矩阵求值
3.4.1 方阵行列式值
3.4.2 矩阵秩与迹
3.4.3 向量和矩阵范数
3.4.4 矩阵条件数
3.5 矩阵特征值与特征向量
3.6 矩阵超越函数
第4章MATLAB程序设计
4.1 M文件
4.1.1 M文件分类
4.1.2 M文件建立与打开
4.2 程序控制结构
顺序结构、选择结构、循环结构
4.3 函数文件
4.4 程序调试
 第5章MATLAB绘图
5.1 二维图形
5.2 三维图形
5.3 三维图形的精细处理
5.4 隐函数绘图
5.5 底层绘图操作
5.6 光照与材质
5.7 图像显示与动画
 第6章MATLAB数值计算
6.1 数据处理与多项式计算
6.2 数值微积分
6.3 离散傅里叶变换
6.4 线性方程组求解
6.5 非线性方程与最优化问题求解
6.6 常微分方程的数值求解
6.7 稀疏矩阵
 第7章MATLAB符号计算
7.1 符号计算基础
7.2 符号函数及其应用
7.3 符号积分
7.4 级数
7.5 符号方程求解
应用篇
 第8章MATLAB图形用户界面设计
8.1 菜单设计
8.2 对话框设计
8.3 可视化图形用户界面设计
 第9章MATLABNotebook 使用
9.1 NOTEBook的安装于启动
9.2 单元的定义与执行
9.3 输出格式控制
 第10章MATLABSimlllink仿真软件
10.1 Simlllink操作基础
10.2 系统仿真模型
10.3 系统的仿真
10.4 使用命令操作对系统进行仿真
10.5 子系统及其封装技术
10.6 S函数的设计与应用
 第11章MATLAB外部程序接口技术
11.1 MATLAB的数据接口
11.2 MATLAB编译器
11.3 MATLAB计算引擎
11.4 MEX动态链接函数接口
 第12章MATLAB 应用
12.1 MATLAB在电路分析中的应用
12.2 MATLAB在控制系统分析中的应用
12.3 MATLAB在数学建模中的应用
12.4 MATLAB在力学及工程结构分析中的应用
12.5 MATLAB在优化设计中的应用
实验篇
 实验要求
 实验MATLAB运算基础
 实验二MATLAB矩阵分析与处理
 实验三选择结构程序设计
 实验四循环结构程序设计
 实验五函数文件
 实验六高层绘图操作
 实验七低层绘图操作
 实验八数据处理与多项式计算
 实验九数值微积分与方程数值求解
 实验十符号计算基础与符号微积分
 实验十级数与方程符号求解
 实验十二菜单与对话框设计
 实验十三Simulink 应用 
 实验十四外部程序接口
 实验十五综合实验
第1章MATLAB系统环境
本章重点:发展、功能、操作界面、帮助
课时安排:2课时
内容安排:
1、概述:MATLAB 发展、MATLAB 主要功能
(1)发展
MATLAB名字由MATrix和LABoratory 两词的前三个字母组合而成。

那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks 公司,并把MATLAB正式推向市场。

从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。

在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。

Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。

MathWorks公司于1993年推出MATLAB4.0版本,从此告别DOS版。

4.x版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:(1)推出了SIMULINK。

这是一个交互式操作的动态系统建模、仿真、分析集成环境。

它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。

(2)开发了与外部进行直接数据交换的组件,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。

(3)推出了符号计算工具包。

1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎”开发了Symbolic Math Toolbox 1.0。

MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。

(4)构作了Notebook 。

MathWorks公司瞄准应用范围最广的Word ,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。

1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。

与4.x相比,现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。

(关于MATLAB5.x的特点下节将作更详细的介绍。

)诚然,到1999年底,Mathematica也已经升到4.0版,它特别加强了以前欠缺的大规模数据处理能力。

Mathcad 也赶在2000年到来之前推出了Mathcad 2000 ,它购买了Maple内核和库的部分使用权,打通了与MATLAB的接口,从而把其数学计算能力提高到专业层次。

但是,就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。

在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。

这几乎成了九十年代教科书与旧版书籍的区别性标志。

在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。

在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。

在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。

在设计研究单位和工业部门,MATLAB 被认作进行高效研究、开发的首选软件工具。

如美国National Instruments 公司信号测量、分析软件LabVIEW ,Cadence 公司信号和通信分析设计软件SPW 等,或者直接建筑在MATLAB 之上,或者以MATLAB 为主要支撑。

又如HP 公司的VXI 硬件,TM 公司的DSP ,Gage 公司的各种硬卡、仪器等都接受MATLAB 的支持。

(2)主要功能:计算、图形、程序、工具
2、MATLAB 环境:准备、MATLAB 安装、MATLAB 启动与退出虚拟光驱
3种启动方式:菜单方式、到安装路劲下双击MATLAB.exe 运行方式、桌面快捷方式、3种退出方式:菜单、关闭窗口、命令quit 或exit
3、MATLAB 操作界面:主窗口、命令窗口、工作空间窗口、当前目录窗口和搜索路径、命令历史记录窗口、Start 菜单
4、MATLAB 帮助系统:帮助命令help 、lookfor 命令、帮助窗口、演示系统
5、MATLAB 功能演示
例1-1 绘制正弦曲线和余弦曲线。

x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));
例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。

p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根
例1-3 求积分
quad('x.*log(1+x)',0,1)例1-4
求解线性方程组。

即:⎪⎩⎪
⎨⎧=-+=++=+-17
9452238432321
321321x x x x x x x x x b aX =a=[2,-3,1;8,3,2;45,1,-9]; b=[4;2;17]; x=inv(a)*b
⎰+1
)]1ln([dx
x x
第2章 MATLAB 数据及其运算
本章重点:变量、格式、矩阵、运算、字符串课时安排:4课时内容安排:
1、MATLAB 数据的特点
(1)矩阵是MATLAB 最基本、最重要的数据对象。

例如: ⎥



⎣⎡54327531(2) 向量可以看成是仅有一行或一列的矩阵。

例如:[1 2 3],[28 3 9]
(3)单个数据(标量)可以看成是矩阵的特例。

单个数据看着也看着矩阵。

例如:10=[10](4)数据类型
MATLAB 定义了15种数据类型:
Char,float,double,int8,int16,int32,int64,uint8,uint16,uint32,uint64,cell,structure,java 类,函数句柄,用户定义类型
一般情况下,矩阵的每个元素必须具有相同的数据类型,在实际应用中,有时需要将不同类型的数据构成矩阵的元素,也就是结构体(Structure )和元胞(Cell)数据类型。

,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡''18''''31''''22''M TANG W WANG M LIYANG ⎪⎭

⎬⎫⎪⎩⎪⎨
⎧''18'''31''''22''M TANG W WANG M LIYANG 2、变量及其操作
2.1变量命名:
以字母开头(不是数字、汉字开头)后接字母、数字、下划线的最多63个字符,区分大小写。

2.2 变量赋值操作(1)变量=表达式例如:a=123;b=’ok’
(2)表达式;%把表达式值赋值给预定义变量ans 例如:123456
例如:将写成MATLAB 表达式
)5log()
30sin(7︒+将写成MATLAB 表达式
)
20(12))3cos(5ln(33.0tg e ++(3)预定义变量:ans,eps,pi,i,j,inf,Inf,NaN,nan,nargin,nargout,realmax,realmin,lasterr,lastwarn 例如:2+6i ,3+pi
(4)变量管理:内存变量的显示与删除,who,whos,clear.(5)工作空间浏览器
(6)变量编辑器:
(7)内存变量文件:
save 文件名[变量名表] [-append][-ascii]
load 文件名[变量名表] [-ascii]
2.3 数据输出格式:
采用十进制数表示一个常数,可用日常记数法和科学记数法,format
format short
format long
format short e
format long e
format rat
format hex
format compact
format loose
3、MATLAB矩阵表示
矩阵:n×m的数据存储空间
向量:单行或单列的矩阵
标量:1×1的矩阵
数组:矩阵是数组的特例,矩阵是二维数组,向量是一维数组。

空矩阵:[]表示无任何元素
3.1矩阵建立
1.直接输入法
矩阵元素应用方括号([])括住
每行内的元素间用逗号(,)或空格隔开
行与行之间用分号(;)或回车键隔开;
元素可以是数值或表达式。

例如:a=[2,3;5,6;8,9]
cB=[4,2+3i;5i,6i]
xp=[2 3;4 5]
复数矩阵
2.利用M文件建立矩阵
(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.
(2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。

(3) load 文件名,就会自动建立一个名为MYMAT的矩阵,可供以后使用。

3.建立大矩阵
大矩阵可由方括号中的小矩阵建立起来。

例如
A=[1 2 3;4 5 6;7 8 9]; C=[A,eye(size(A));ones(size(A)),A]
4.冒号表达式:
(1)使用冒号表达式生成向量
冒号表达式的一般格式:
e1:e2:e3
其中e1为初始值,e2为步长,e3为终止值。

冒号表达式可产生一个由e1开始到e3
结束,以步长e2自增的行向量。

在冒号表达式中如果省略e2不写,则步长为1。

当e2省略或e2>0,e1>e3; e2<0, e1<e3都为空矩阵。

(2)使用linspace和logspace函数生成向量
linspace(a,b,n)%生成线性等分向量
logspace(a,b,n)%生成对数等分向量
说明:
a、b、n三个参数分别表示开始值、结束值和元素个数;
linspace函数生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100;linspace(a,b,n)与a:(b-a)/(n-1):b等价。

logspace函数生成从10a到10b之间按对数等分的n个元素的行向量,n如果省略则默认值为50。

3.2矩阵的拆分:
1.矩阵元素访问
MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。

而不影响其它元素的值。

例如A=ones(4);A(3,2)=200
只改变该元素的值,而不影响其他元素的值。

如果给出的行下标或列下标大于原来矩阵的行数和列数,则MATLAB将自动扩展原来的矩阵,并将扩展后未赋值得矩阵元素置为0
A(4,6)=10
也可以采用矩阵元素的序号来引用矩阵元素。

矩阵元素按列编号,先第一列,再第二列,依次类推。

A(6)
显然,下标(subscrip)与序号(index)是一一对应的。

以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。

其相互转换关系也可利用sub2ind和ind2sub函数求得
sub2ind(size(A),2,3)
[c,d]=ind2sub(size(A),6)
2.利用冒号获得子矩阵
①A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A 矩阵第i行、第j列的元素。

②A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35];
A(2:3,4:5)
A(2:3,1:2:5)
此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。

end表示某一维的末尾元素下标。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35];
A(end,:)%取A最后一行元素
A([1,4],3:end)%取A第1、4行中第3列到最后一列元素
3.利用空矩阵删除矩阵元素
在MATLAB中,定义[]为空矩阵。

给变量X赋空矩阵的语句为X=[]。

注意:X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。

将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。

A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35];
A(:,[2,4])=[]%删除A的第2列和第4列元素
4 矩阵合并
矩阵的合并就是把两个以上的矩阵连接起来得到一个新矩阵,“[]”符号可以作为矩阵合并操作符,命令格式如下:
c=[a b] %将矩阵a和b水平方向合并为c
c=[a;b]%将矩阵a和b垂直方向合并为c
5、MATLAB数据运算:
算术运算:+,-,*,/,\,^
点运算:.*,./,.\,
MATLAB常用函数:sin,asin,cos,,acos,tan,atan,sqrt,log,abs,rem,exp,mod,round,gcd,fix 关系运算(返回真1或假0):<,<=,>,>=,==,!=
逻辑运算((返回真1或假0)):&,|,~
位运算:bitand,bitor,bitxor,bitshift
关系与逻辑运算函数:all,any,exit,find,isempty,issparse,xor
6、字符串:
创建:s=’please’
字符串函数:setstr,mat2str,int2str,num2str,str2num,strcat,strcmp
7、结构数据和单元数据:
结构数据:建立、引用、修改、结构函数
单元(cell)数据:建立、引用、函数
第3章 MATLAB 矩阵分析与处理
本章重点:特殊矩阵、矩阵变换、矩阵求值课时安排:4课时内容安排:
1.特殊矩阵的建立
1.1通用特殊矩阵:zeros,ones,eye,rand,randn 几个产生特殊矩阵的函数:zeros 产生全0矩阵(零矩阵) ones 产生全1矩阵 (么矩阵)eye 产生单位矩阵
rand 产生0~1间均匀分布的随机矩阵randn 产生0~1间正态分布的随机矩阵
这几个函数的调用格式相似,下面以产生零矩阵的zeros 函数为例进行说明。

其调用格式是:
zeros(m) 产生m ×m 零矩阵 zeros(m,n) 产生m ×n 零矩阵。

zeros(size(A)) 产生与矩阵A 同样大小的零矩阵相关的函数有:
size(A) 返回包含2个元素的向量,分别是A 的行数、列数 length(A) 给出行数和列数中的较大者,即 length(A)=max(size(A)); ndims(A) 给出A 的维数。

reshape(A,m,n) 它在矩阵总元素保持不变的前提下,将矩阵A 重新排成m ×n 的二维矩阵。

例2.3 分别建立3×3、3×2和与矩阵A 同样大小的零矩阵。

(1)建立一个3×3零矩阵:zeros(3)(2)建立一个3×2零矩阵:zeros(3,2)
(3)建立与矩阵A 同样大小零矩阵:zeros(size(A))(4)将矩阵xv 重新排成2×5、5×2矩阵xv=[23,34,65,67,54,38,78,76,32,56]; ym=reshape(xv,2,5) newym=reshape(xv,5,2)
1.2专门学科特殊矩阵:magic ,vander,hilb,toeplitz,compan,pascal
magic 矩阵的每行、每列、及两条对角线的元素之和都相等。

用法:magic(n)
vander 矩阵的最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘。

用法:vander(n)Hilb 矩阵的每个元素是,用法:hilb(n)
1
1
-+=
j i h ij toeplitz 矩阵除第一行和第一列外,其他每个元素都与其相邻左上角的元素相同。

用法:toeplitz(x,y)或者(x ),这里x 和y 都为向量,生成以x 为第一列,y 为第一行的toeplitz 矩阵伴随矩阵compan :设多项式,则多项式的伴随矩阵
011
1)(a x a x
a x a x p n n n
n ++++=--
为:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-
----=---010*********
000010
0000101321 n n n n n n n n a a a a a a a a a a A Pascal 矩阵就是杨辉三角形矩阵,第1行和第1列都为1,其余元素为其相邻的右面和上面元素之和。

2、矩阵结构变换:
2.1 矩阵转置:B=A’
2.2 方阵行列式
det(x):计算方阵行列式
2.3 矩阵秩
rank(x):求矩阵的秩
2.4 矩阵的逆矩阵
inv(x)求矩阵的逆矩阵
2.5 矩阵的特征值与特征向量
[v,d]=eig(x):求矩阵的特征向量v 和特征值d
2.6 产生对角阵
diag(x):产生矩阵x 的对角阵
2.7 矩阵的正交阵表示
[q,r]=qr(x)
2.8 产生上三角矩阵与下三角矩阵
triu(x)和tril(x):分别产生x 的上、下三角矩阵,其
余元素补0
3.数组翻转
常用数组翻转函数 :flipud(x)、fliplr(x)、flipdim(x,dim)、rot90(x,k)
4、矩阵求逆与线性方程组求解:
(1)矩阵逆inv(A):用于矩阵A 的秩为满秩的方阵A 。

伪逆pinv(A):对于不为满秩的矩阵A ,不存在逆矩阵,但可以一个与A 的转置矩阵A’同型的矩阵B ,使得:
A.B.A=A 和B.A.B=B
此时称矩阵B 为矩阵A 的伪逆,也称广义逆矩阵:B=pinv(A)
(2)用矩阵求逆方法求解线性方程组:
5、迹:trace(A)
矩阵对角线元素之和,也等于矩阵的特征值之和。

6、矩阵范数:norm
用以度量矩阵或向量在某种意义下的长度。

设向量,则范数:
),,2,1(vn v v V =
(1)1-范数:∑==n i i v V 1
1|
||||| norm(V,1)
(2)2-范数:∑==n
i i
v V 1
2
2||||norm(V,2)或norm(V)
(3)∞-范数:|}{|max ||||1i n i v V ≤
≤∞=norm(V,inf)
7、矩阵条件数:cond(A)
8、矩阵超越函数
Sqrtm,logm,expm,funm
第4章 MATLAB 程序设计
本章重点:M 文件、选择程序设计、循环程序设计、M 函数设计
课时安排:4课时
内容安排:
4.1 M 文件
1. M 文件分类
M 程序文件(命令文件):无输入参数、无返回参数
M 函数文件:有输入参数,有返回值
2. M 文件 建立与打开
(1)在matlab 编辑器中
(2)在其他编辑器:记事本
3.M 文件的运行
4.注解:%
4.2 程序控制结构
1.顺序结构
(1)数据输入:
A=input(‘提示信息’,选项)
(2)输入输出:
disp(输出项)
(3)程序暂停:
pause(延迟秒数)
(4)程序强行中止:Ctrl+C 键
例题:输入系数,求并显示一元二次方程的根
02=++c bx ax 2.选择程序设计
(1)if 语言
if 语句与end 组成一个复合命令
条件满足则执行语句,格式:
if 条件
语句组
end
例如:if(fix(x)==x)
disp(x);
end
(2)双分支语句if else
if 条件
语句组1
else
语句组2
end
例如:输入x 计算函数y 值:
⎩⎨⎧=+≠-+=10
,ln 10
),10/()1cos(x x x x x x x y
(3)多分支if语句
格式:
if 条件1
语句组1
elseif 条件2
语句组2
elseif 条件m
语句组m
else
语句组n
end
例如:从键盘输入,判断输入的是否为大写字母、小写字母、数字还是其他字符。

(4)switch语句
根据不同的取值,分别执行不同的语句。

格式:
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2

case 表达式m
语句组m
otherwise
case 表达式n
语句组n
end
当表达式的值等于表达式1时,则执行语句组1;当表达式的值等于表达式2时,则执行语句组2;…,当表达式的值等于表达式m时,则执行语句组m;当表达式的值不等于case 所列的所有表达式时,则执行语句组n。

例如:输入百分数,根据成绩判断优、良、中、及格、不及格等次
(6)try语句
用于判断执行语句是否存在逻辑错误(非语法错误,如除法的除数为零),格式:
try
语句组1
catch
语句组2
end
先试探执行语句1,若存在错误,则执行语句2;若不存在错误则只执行语句1而不执行语句2.
错误信息赋给保留的lasterr变量
3 循环程序设计
(1)for 语句
格式1:
for 循环变量=表达式1:步长:表达式3
循环体语句
end 例题:根据,求的值,n 分别取100,1000,10000.
2222
1
312116n ++++= π
π格式2:
for 循环变量=矩阵
循环体语句
end
将矩阵的每列赋给循环变量。

(3)while 语句
格式:
while 条件
循环体
end
例题:
(4)break 和continue 语句
例题
(5)循环嵌套
例题
4.3 M 函数
1.M 函数格式
function 输出参数=函数名(输入参数1,输入参数2,…)
注释部分
函数体语句
例题
2.return 语句
3.函数调用
一般函数调用
递归函数调用
4、函数参数的可调性
5、全局变量
global 变量名
4.4 程序调试
第5章MATLAB绘图
本章重点:掌握绘制二维和三维图形的常用函数,掌握绘制图形的辅助操作
课时安排:4课时
内容安排:
5.1 二维绘图
1. 绘制单根二维曲线
plot函数的基本调用格式为:plot(x,y)
其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

2.绘制多根二维曲线
plot函数的输入参数是矩阵形式
含多个输入参数的plot函数,调用格式为:plot(x1,y1,x2,y2,…,xn,yn)
具有两个纵坐标标度的图形,调用格式为:plotyy(x1,y1,x2,y2)
图形保持:hold on/off
3.设置曲线样式
要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
4.图形标注与坐标控制。

有关图形标注函数的调用格式为:
title(图形名称)
xlabel(x轴说明)
ylabel(y轴说明)
text(x,y,图形说明)
legend(图例1,图例2,…)
axis函数坐标标注函数调用格式为:
axis([xmin xmax ymin ymax zmin zmax])
axis函数功能丰富,常用的格式还有:
axis equal:纵、横坐标轴采用等长刻度。

axis square:产生正方形坐标系(缺省为矩形)。

axis auto:使用缺省设置。

axis off:取消坐标轴。

axis on:显示坐标轴。

5.其它二维图形
polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)
二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)
stairs(x,y,选项)
stem(x,y,选项)
fill(x1,y1,选项1,x2,y2,选项2,…)
5.2 三维绘图
1.三维曲线
调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
2.三维曲面
surf函数和mesh函数的调用格式为:
mesh(x,y,z,c)
surf(x,y,z,c)
3.其它三维图形
[x,y,z]=sphere(n) %球体
[x,y,z]= cylinder(R,n) %圆柱体
bar3函数绘制三维条形图
stem3函数绘制离散序列数据的三维杆图
pie3函数绘制三维饼图
5.3 三维绘图的精细处理
1.视点处理
函数view,其调用格式为:view(az,el)
2.色彩处理
向量元素在[0,1]范围取值,3个元素分别表示红、绿、蓝3种颜色的相对亮度,称为RGB 三元组。

色图是m×3 的数值矩阵,它的每一行是RGB三元组。

三维表面图形的着色,surf函数用缺省的着色方式对网格片着色。

除此之外,还可以用shading 命令来改变着色方式。

3.图形裁剪处理
例5-25 绘制三维曲面图,并进行插值着色处理,裁掉图中x和y都小于0部分。

程序如下:
[x,y]=meshgrid(-5:0.1:5);
z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);
surf(x,y,z);shading interp;
pause %程序暂停
i=find(x<=0&y<=0);
z1=z;z1(i)=NaN;
surf(x,y,z1);shading interp;
为了展示裁剪效果,第一个曲面绘制完成后暂停,然后显示裁剪后的曲面。

5.4 隐函数绘图
ezplot函数绘制隐函数图形
5.5 低层绘图
5.6 图像和动画
第6章MATLAB数值计算
本章重点:
课时安排:4课时
内容安排:
第7章MATLAB符号计算
本章重点:
课时安排:2课时
内容安排:
第8章MATLAB图形用户界面本章重点:
课时安排:2课时
内容安排:
第10章Simulink
本章重点:
课时安排:6课时
内容安排:。

相关文档
最新文档