《MATLAB语言及其应用》教案.docx
- 文档编号:7512874
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:26
- 大小:77.86KB
《MATLAB语言及其应用》教案.docx
《《MATLAB语言及其应用》教案.docx》由会员分享,可在线阅读,更多相关《《MATLAB语言及其应用》教案.docx(26页珍藏版)》请在冰豆网上搜索。
《MATLAB语言及其应用》教案
MATLAB语言及其应用
教
案
任课教师:
罗靖宇
任课班级:
09通信
(1)
(2)
教材:
MATLAB程序设计与应用(第二版)
作者:
刘卫国主编出版社:
高等教育出版社
内容:
书籍简介:
本书以MATLAB7.0版为蓝本介绍MATLAB
功能与应用
强调理论和实践相结合
贴近读者需要
注重
讲清有关数学方法和算法原理
前提下
介绍MATLAB
功能;注重和有关学科领域
结合,突出应用
书中有许多应用实例
些实例既是对MATLAB重点和难点
诠释
又可以更好地帮助读者应用MATLAB来解决实际问题
具有很强
代表性。
全书分为基础篇
应用篇和实验篇
基础篇包括MATLAB系统环境
MATLAB数据及其运算
MATLAB矩阵分析与处理
MATLAB程序设计
MATLAB图
MATLAB数值计算
MATLAB符号计算
应用篇包括MATLAB图形用户界面设计
MATLABNotebook
使用
MATLABSimulink仿真软件
MATLAB外部程序接口技术
MATLAB
应用
实验篇和教学内容相配合
包括15
实验
以帮助读者更好地上机操作。
本书可作为高等学校理工科各专业大学生或研究生学习
教材
也可供广大科技工作者参考。
第1章MATLAB系统环境
1.1MATLAB概貌
1.1.1MATLAB发展
1.1.2MATLAB主要功能
1.1.3MATLAB功能演示
1.2MATLAB环境准备
1.2.1MATLAB安装
1.2.2MATLAB启动与退出
1.3MATLAB操作界面
1.3.1主窗口
1.3.2命令窗口
1.3.3工作空间窗口
1.3.4当前目录窗口和搜索路径
1.3.5命令历史记录窗口
1.3.6Stalt菜单
1.4MATLAB帮助系统
1.4.1帮助命令
1.4.2帮助窗口
1.4.3演示系统
第2章MATLAB数据及其运算
2.1MATLAB数据特点
2.2变量及其操作
2.2.1变量与赋值
2.2.2变量管理
2.2.3数据输出格式
2.3MATLAB矩阵表示
2.3.1矩阵建立
2.3.2冒号表达式
2.3.3矩阵拆分
2.4MATLAB数据运算
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.1M文件
4.1.1M文件分类
4.1.2M文件建立与打开
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.1NOTEBook的安装于启动
9.2单元的定义与执行
9.3输出格式控制
第10章MATLABSimlllink仿真软件
10.1Simlllink操作基础
10.2系统仿真模型
10.3系统的仿真
10.4使用命令操作对系统进行仿真
10.5子系统及其封装技术
10.6S函数的设计与应用
第11章MATLAB外部程序接口技术
11.1MATLAB的数据接口
11.2MATLAB编译器
11.3MATLAB计算引擎
11.4MEX动态链接函数接口
第12章MATLAB应用
12.1MATLAB在电路分析中的应用
12.2MATLAB在控制系统分析中的应用
12.3MATLAB在数学建模中的应用
12.4MATLAB在力学及工程结构分析中的应用
12.5MATLAB在优化设计中的应用
实验篇
实验要求
实验MATLAB运算基础
实验二MATLAB矩阵分析与处理
实验三选择结构程序设计
实验四循环结构程序设计
实验五函数文件
实验六高层绘图操作
实验七低层绘图操作
实验八数据处理与多项式计算
实验九数值微积分与方程数值求解
实验十符号计算基础与符号微积分
实验十级数与方程符号求解
实验十二菜单与对话框设计
实验十三Simulink应用
实验十四外部程序接口
实验十五综合实验
第1章MATLAB系统环境
本章重点:
发展、功能、操作界面、帮助
课时安排:
2课时
内容安排:
1、概述:
MATLAB发展、MATLAB主要功能
(1)发展
MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。
那是20世纪七十年代后期的事:
时任美国新墨西哥大学计算机科学系主任的CleveMoler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。
经几年的校际流传,在Little的推动下,由Little、Moler、SteveBangert合作,于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为“引擎”开发了SymbolicMathToolbox1.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年到来之前推出了Mathcad2000,它购买了Maple内核和库的部分使用权,打通了与MATLAB的接口,从而把其数学计算能力提高到专业层次。
但是,就影响而言,至今仍然没有一个别的计算软件可与MATLAB匹敌。
在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。
这几乎成了九十年代教科书与旧版书籍的区别性标志。
在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。
如美国NationalInstruments公司信号测量、分析软件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求解线性方程组。
即:
a=[2,-3,1;8,3,2;45,1,-9];
b=[4;2;17];
x=inv(a)*b
第2章MATLAB数据及其运算
本章重点:
变量、格式、矩阵、运算、字符串
课时安排:
4课时
内容安排:
1、MATLAB数据的特点
(1)矩阵是MATLAB最基本、最重要的数据对象。
例如:
(2)向量可以看成是仅有一行或一列的矩阵。
例如:
[123],[2839]
(3)单个数据(标量)可以看成是矩阵的特例。
单个数据看着也看着矩阵。
例如:
10=[10]
(4)数据类型
MATLAB定义了15种数据类型:
Char,float,double,int8,int16,int32,int64,uint8,uint16,uint32,uint64,cell,structure,java类,函数句柄,用户定义类型
一般情况下,矩阵的每个元素必须具有相同的数据类型,在实际应用中,有时需要将不同类型的数据构成矩阵的元素,也就是结构体(Structure)和元胞(Cell)数据类型。
2、变量及其操作
2.1变量命名:
以字母开头(不是数字、汉字开头)后接字母、数字、下划线的最多63个字符,区分大小写。
2.2变量赋值操作
(1)变量=表达式
例如:
a=123;b=’ok’
(2)表达式;%把表达式值赋值给预定义变量ans
例如:
123456
例如:
将
写成MATLAB表达式
将
写成MATLAB表达式
(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
formatshort
formatlong
formatshorte
formatlonge
formatrat
formathex
formatcompact
formatloose
3、MATLAB矩阵表示
矩阵:
n×m的数据存储空间
向量:
单行或单列的矩阵
标量:
1×1的矩阵
数组:
矩阵是数组的特例,矩阵是二维数组,向量是一维数组。
空矩阵:
[]表示无任何元素
3.1矩阵建立
1.直接输入法
矩阵元素应用方括号([])括住
每行内的元素间用逗号(,)或空格隔开
行与行之间用分号(;)或回车键隔开;
元素可以是数值或表达式。
例如:
a=[2,3;5,6;8,9]
cB=[4,2+3i;5i,6i]
xp=[23;45]
复数矩阵
2.利用M文件建立矩阵
(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.
(2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。
(3)load文件名,就会自动建立一个名为MYMAT的矩阵,可供以后使用。
3.建立大矩阵
大矩阵可由方括号中的小矩阵建立起来。
例如
A=[123;456;789];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 (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=[]与clearX不同,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=[ab]%将矩阵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) toeplitz矩阵除第一行和第一列外,其他每个元素都与其相邻左上角的元素相同。 用法: toeplitz(x,y)或者(x),这里x和y都为向量,生成以x为第一列,y为第一行的toeplitz矩阵 伴随矩阵compan: 设多项式 ,则多项式的伴随矩阵为: 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)、flipdi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB语言及其应用 MATLAB 语言 及其 应用 教案
![提示](https://static.bdocx.com/images/bang_tan.gif)