数学建模用法幻灯片.ppt

上传人:石*** 文档编号:47748343 上传时间:2022-10-03 格式:PPT 页数:97 大小:4.02MB
返回 下载 相关 举报
数学建模用法幻灯片.ppt_第1页
第1页 / 共97页
数学建模用法幻灯片.ppt_第2页
第2页 / 共97页
点击查看更多>>
资源描述

《数学建模用法幻灯片.ppt》由会员分享,可在线阅读,更多相关《数学建模用法幻灯片.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数学建模用法第1页,共97页,编辑于2022年,星期六q 用计算机解决数值分析问题l 三大数学软件Matlab,Maple,Mathematica第2页,共97页,编辑于2022年,星期六q Matlab:Matrix Laboratry 矩阵实验室矩阵实验室q 在国际上在国际上 30 几个数学类科技应用软件中,几个数学类科技应用软件中,Matlab 在在数值计算数值计算方方面独占鳌头。面独占鳌头。q 目前,目前,Matlab 已经成为国际上最流行的科学与工程计算的软件工具,已经成为国际上最流行的科学与工程计算的软件工具,是一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为是一种具有

2、广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代第四代”计算机语言。计算机语言。就影响而言,至今仍然没有一个别的计算软件可就影响而言,至今仍然没有一个别的计算软件可与与 Matlab 匹敌。匹敌。q Matlab 的最新版本的最新版本2010年,年,Matlab 7.11(R2010b)第一节第一节 Matlab 介绍介绍第3页,共97页,编辑于2022年,星期六1.1 Matlab 的特点与功能的特点与功能q Matlab 具有很强的数值计算功能具有很强的数值计算功能 Matlab 以以矩阵矩阵作为数据操作的基本单位,但无需预先指定作为数据操作的基本单位,但无需预先指定 矩阵维数

3、(矩阵维数(动态定维动态定维)按照按照 IEEE 的数值计算标准进行计算的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率提供十分丰富的数值计算函数,方便计算,提高效率 Matlab 命令与数学中的符号、公式非常接近,可读性强,命令与数学中的符号、公式非常接近,可读性强,容易掌握容易掌握q Matlab 是一个交互式软件系统是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果输入一条命令,立即就可以得出该命令的结果第4页,共97页,编辑于2022年,星期六q Matlab 符号计算功能符号计算功能Matlab 和著名的符号计算语言和著名的符号计算语言 Maple 相

4、结合相结合q Matlab 的编程功能的编程功能Matlab具有具有程序结构控制程序结构控制、函数调用函数调用、数据结构数据结构、输入输出输入输出、面向对象面向对象等程序语言特征,而且等程序语言特征,而且简单易学简单易学、编程效率高编程效率高。通过通过 Matlab 提供的编程语言进行编程完成特定的任务提供的编程语言进行编程完成特定的任务q Matlab 的绘图功能的绘图功能Matlab提供丰富的绘图命令,提供丰富的绘图命令,很方便实现数据的可视化很方便实现数据的可视化第5页,共97页,编辑于2022年,星期六q Matlab 丰富的工具箱(丰富的工具箱(toolbox)根据专门领域中的特殊需

5、要而设计的各种可选工具箱根据专门领域中的特殊需要而设计的各种可选工具箱q Matlab 的的 Simulink 动态仿真集成环境动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能等功能Symbolic Math PDEOptimizationSignal processImage ProcessStatisticsControl SystemSystem Identification 第6页,共97页,编辑于2022

6、年,星期六1.2 Matlab 的集成环境的集成环境q Matlab 系统的启动系统的启动 双击双击 Matlab 快捷图标快捷图标q Matlab 系统的退出系统的退出 单击单击 Matlab 主窗口的主窗口的“关闭关闭”按钮按钮第7页,共97页,编辑于2022年,星期六Matlab 的工作界面命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符第8页,共97页,编辑于2022年,星期六q Matlab命令窗口(命令窗口(command window)在在后键入命令,并按下后键入命令,并按下enter键后,键后,Matlab 就会解释执行所就会解释执行所输入的命令,并在命令后面给出计

7、算结果。默认的显示结果输入的命令,并在命令后面给出计算结果。默认的显示结果变量为变量为mand window是是Matlab的主要交互窗口,用于的主要交互窗口,用于:输入命输入命令并显示除图形以外的所有执行结果。令并显示除图形以外的所有执行结果。命令提示符第9页,共97页,编辑于2022年,星期六 命令行的输入规则命令行的输入规则命令行后以命令行后以分号分号(;)结尾结尾,表示,表示不显示运行结果不显示运行结果。命令行后命令行后无符号或以逗号无符号或以逗号(,)结尾结尾,表示,表示显示运行结果显示运行结果一个命令行可以输入若干条命令,各命令之间以逗号一个命令行可以输入若干条命令,各命令之间以逗

8、号或分号分隔或分号分隔如果一个命令行很长,需要换行时,要加续行符(三如果一个命令行很长,需要换行时,要加续行符(三个小黑点个小黑点)标点符号一定要在标点符号一定要在英文状态英文状态英文状态英文状态下输入。下输入。若需要在命令行后加注释,注释以若需要在命令行后加注释,注释以%开始。开始。第10页,共97页,编辑于2022年,星期六1.3 Matlab帮助帮助q 帮助命令帮助命令help 显示指定命令的简短使用说明显示指定命令的简短使用说明例:例:help eig lookfor 按指定的关键词查询与之相关的命令按指定的关键词查询与之相关的命令例:例:lookfor eig doc 以网页形式以网

9、页形式显示指定命令的帮助页显示指定命令的帮助页例:例:doc eig 第11页,共97页,编辑于2022年,星期六q 常用操作命令常用操作命令常用操作命令常用操作命令 clc:清除命令窗口清除命令窗口;clf:清除当前图形清除当前图形;clear:清除工作空间的变量和函数清除工作空间的变量和函数.第12页,共97页,编辑于2022年,星期六第二节第二节 MATLAB语言基本操作语言基本操作2.1 变量和赋值变量和赋值2、变量命名原则:、变量命名原则:u 以以字母开头字母开头u 后面可以跟后面可以跟 字母、数字字母、数字 和和 下划线下划线u 长度长度不超过不超过 63 个字符个字符u变量名变量

10、名 区分字母的区分字母的 大小大小 写,写,MATLAB提供的标准函提供的标准函数名以及命令名必须用数名以及命令名必须用小写字母小写字母。1、基本变量:基本变量:矩阵矩阵第13页,共97页,编辑于2022年,星期六在在MATLAB工工作作空空间间中中,还还驻驻留留几几个个由由系系统统本本身身定定义义的的变变量量。它它们们有有特特定定的的含含义义,在在使使用用时时,应应尽尽量量避避免免对对这些变量重新赋值。这些变量重新赋值。例如:例如:pi、i、inf等等。等等。3、预定义变量、预定义变量预定义变量含义预定义变量含义ans计算结果的缺省变量名pi圆周率i或j虚数单位eps机器零阈值(=2.220

11、4e-016)Inf或Inf无穷大,如1/0nan或NaN不是一个数,如0/0,/realmax最大正实数realmin最小正实数nargin函数输入宗量数目nargout函数输出宗量数目lasterr最新一次的错误信息lastwarn最新一次的警告信息第14页,共97页,编辑于2022年,星期六4、变量(矩阵)的建立、变量(矩阵)的建立 (1)直接输入法直接输入法例如例如 A=1 2 3;4 5 6;7 8 9 矩阵用方括号矩阵用方括号“”括起括起矩阵同一行中的元素之间用矩阵同一行中的元素之间用 空格空格 或或 逗号逗号 分隔分隔矩阵行与行之间用矩阵行与行之间用 分号分号 分开分开直接输入法

12、中,分号可以用直接输入法中,分号可以用 回车回车 代替代替或或 A=1,2,3 4,5,6 7,8,9第15页,共97页,编辑于2022年,星期六(2)利用利用MATLAB函数建立矩阵函数建立矩阵几个产生特殊矩阵的函数:几个产生特殊矩阵的函数:zeros:产生全:产生全0矩阵矩阵(零矩阵零矩阵)。ones:产生全:产生全1矩阵矩阵(幺矩阵幺矩阵)。eye:产生单位矩阵。:产生单位矩阵。rand:产生:产生01间均匀分布的随机矩阵。间均匀分布的随机矩阵。randn:产生均值为:产生均值为0,方差为,方差为1的标准正态分布随机矩阵。的标准正态分布随机矩阵。magic:产生魔方阵:产生魔方阵pasc

13、al:产生帕斯卡阵:产生帕斯卡阵 第16页,共97页,编辑于2022年,星期六 这这几几个个函函数数的的调调用用格格式式相相似似,下下面面以以产产生生零零矩矩阵阵的的zeros函数为例进行说明。其调用格式是:函数为例进行说明。其调用格式是:zeros(m)产生产生mm零矩阵零矩阵 zeros(m,n)产生产生mn零矩阵零矩阵 zeros(size(A)产生与矩阵产生与矩阵A同样大小的零矩阵同样大小的零矩阵u size(A)列出矩阵列出矩阵 A 的的行数和列数行数和列数第17页,共97页,编辑于2022年,星期六 大矩阵可以由方括号将小矩阵或向量建立。大矩阵可以由方括号将小矩阵或向量建立。例例:

14、A=1,2,3;4,5,6;7,8,9;B=1:3 C=A;B(3)通过矩阵扩展建立矩阵通过矩阵扩展建立矩阵第18页,共97页,编辑于2022年,星期六x=logspace(a,b,n)创建从创建从10a开始,到开始,到10b结束,有结束,有n个元个元素的对数分隔行向量素的对数分隔行向量.(4)创建行向量创建行向量直接产生:直接产生:x=a b c d e f 创建包含指定元素的行向量创建包含指定元素的行向量利用冒号表达式产生:利用冒号表达式产生:x=a:h:b 创建从创建从a开始,以开始,以h为步为步长,到长,到b结束的行向量,缺省时结束的行向量,缺省时h=1x=linspace(a,b,n

15、)与与a:(b-a)/(n-1):b等价等价 创建从创建从a开始,到开始,到b结束,有结束,有n个元素的行向量个元素的行向量第19页,共97页,编辑于2022年,星期六(5 5)创建列向量)创建列向量n 直接产生直接产生 例例 c=1;2;3;4 产生列向量有两种方法:产生列向量有两种方法:产生列向量有两种方法:产生列向量有两种方法:说明:以空格或逗号分隔的元素指定的是不同列的元素,说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素而以分号分隔的元素指定了不同行的元素.n 转置产生转置产生 例例 b=1 2 3 4;c=b第20页,共97页,编辑于2022年

16、,星期六q 矩阵单个元素的提取矩阵单个元素的提取利用小括弧和元素所在的位置(下标)利用小括弧和元素所在的位置(下标)A(i,j):矩阵:矩阵 A 中的第中的第 i 行,第行,第 j 列元素列元素A(i):):矩阵矩阵 A 中的第中的第i个元素,它表示矩阵个元素,它表示矩阵A 中从第一列开始从上到下数,接着在从中从第一列开始从上到下数,接着在从 第二列第二列 开始从上到下数,依次下去,开始从上到下数,依次下去,直到数到第直到数到第i i个。个。5、元素的提取、元素的提取第21页,共97页,编辑于2022年,星期六例:例:A=1,2,3,4;4,5,6,7;5,7,9,0 b1=A(3,2)b2=

17、A(6)结果:结果:b1=7 b2=7 第22页,共97页,编辑于2022年,星期六q 矩阵多个元素的提取矩阵多个元素的提取 冒号运算符冒号运算符u A(:)或或 A(:,:)提取提取A的所有元素的所有元素u A(:,k)提取提取 A的第的第 k 列全部元素列全部元素 A(k,:)提取提取A的第的第 k 行全部元素行全部元素 u A(i:j,m:n)提取提取 A A 的第的第 i i 到第到第 j j 行和第行和第 m m 到第到第 n n 列交叉线上的元素组成的子矩阵。列交叉线上的元素组成的子矩阵。u A(k:m)提取提取A的第的第 k 到第到第 m 个元素个元素u A(:,k:m)提取提取

18、A的第的第 k列列 到第到第 m 列元素列元素 A(i:j,:)提取提取A A的第的第 i i 行到第行到第 j j 行元素行元素第23页,共97页,编辑于2022年,星期六(3 3)直接使用元素编址序号)直接使用元素编址序号:x(a b c d)表示提取向量表示提取向量x的的第第a、b、c、d个元素构成一个新的向量个元素构成一个新的向量x(a)x(b)x(c)x(d).(2 2)提取一块元素)提取一块元素:x(a:b:c)表示提取向量表示提取向量x的从第的从第a个个元素开始,以元素开始,以b为步长,到第为步长,到第c个元素(但不超过个元素(但不超过c)结束的)结束的这些元素,这些元素,b可以

19、为负数,可以为负数,b缺省时为缺省时为1.(1 1)提取一个元素:)提取一个元素:x(i)表示提取向量表示提取向量x的第的第i个元素个元素.q 向量元素的提取向量元素的提取第24页,共97页,编辑于2022年,星期六 6、Matlab 赋值语句的通常形式赋值语句的通常形式变量变量=表达式表达式表达式是用运算符将有关运算量连接起来的式子,表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号其结果被赋给赋值号“=”左边的变量左边的变量或或表达式表达式第25页,共97页,编辑于2022年,星期六2.2 Matlab常用数学函数常用数学函数sin 正弦函数正弦函数 asin 反正弦函数反正弦

20、函数 cos 余弦函数余弦函数 acos 反余弦函数反余弦函数 tan 正切函数正切函数 atan 反正切函数反正切函数 cot 余切函数余切函数 acot 反余切函数反余切函数 sec 正割函数正割函数 asec 反正割函数反正割函数 csc 余割函数余割函数 acsc 反余割函数反余割函数 sinh 双曲正弦函数双曲正弦函数 asinh 反双曲正弦函数反双曲正弦函数 cosh 双曲余弦函数双曲余弦函数 acosh 反双曲余弦函数反双曲余弦函数 tanh 双曲正切函数双曲正切函数 atanh 反双曲正切函数反双曲正切函数 coth 双曲余切函数双曲余切函数 acoth 反双曲余切函数反双曲余

21、切函数 sech 双曲正割函数双曲正割函数 asech 反双曲正割函数反双曲正割函数 csch 双曲余割函数双曲余割函数 acsch 反双曲余割函数反双曲余割函数 第26页,共97页,编辑于2022年,星期六abs(x)实数的绝对值或实数的绝对值或复数的模复数的模sqrt(x)开平方开平方rat(x)化为分数表示化为分数表示gcd(x,y)最大公因数最大公因数lcm(x,y)最小公倍数最小公倍数exp(x)自然指数自然指数pow2(x)2 2为底的指数为底的指数log(x)e为底的对数为底的对数log10(x)10为底的对数为底的对数log2(x)2为底的对数为底的对数sign(x)符号函数符

22、号函数conj(z)共轭复数共轭复数angle(z)复数复数z的相角的相角real(z)复数复数z的实部的实部imag(z)复数复数z的虚部的虚部round(x)四舍五入取整四舍五入取整ceil(x)朝朝方向取整方向取整floor(x)朝朝方向取整方向取整fix(x)朝朝0 0方向方向取整取整rem(x,y)求求x除以除以y的余数的余数factor(x)质因数质因数factorial(x)x!第27页,共97页,编辑于2022年,星期六2.3 Matlab运算运算 1、算术运算算术运算(1)基本算术运算基本算术运算、*(乘)、(乘)、(左除)、(左除)、/(右除)、(右除)、(乘方)(乘方)如

23、:如:2/3或或 3 2 注意:注意:注意:注意:运算是在矩阵意义下进行的,单个数据的算术运算运算是在矩阵意义下进行的,单个数据的算术运算只是矩阵运算的一种特例。只是矩阵运算的一种特例。对于矩阵对于矩阵 A/B:AB-1 AB:A-1B 第28页,共97页,编辑于2022年,星期六两两矩矩阵阵进进行行点点运运算算是是指指它它们们的的对对应应位位置置上上的的元元素素进进行行相关运算,要求两矩阵的维数相同。相关运算,要求两矩阵的维数相同。(2)点运算点运算.*、./、.、.第29页,共97页,编辑于2022年,星期六(2)关系运算符的运算法则:)关系运算符的运算法则:2、关系运算、关系运算(1)M

24、ATLAB提供了提供了6种关系运算符:种关系运算符:(小于小于)、(大于大于)、=(大于或等于大于或等于)、=(等于等于)、=(不等于不等于)。它们的含义不难理解,但要注它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。意其书写方法与数学中的不等式符号不尽相同。当两个比较量当两个比较量都是标量都是标量时,直接时,直接比较两数的大小比较两数的大小。若关系成立,关系表达式结果为若关系成立,关系表达式结果为1,否则为,否则为0。第30页,共97页,编辑于2022年,星期六 当当两个维数相同的矩阵比较两个维数相同的矩阵比较时,时,相同位置上的元素相同位置上的元素按按标量关系运算规则逐

25、个进行。标量关系运算规则逐个进行。当参与比较的当参与比较的一个是标量一个是标量,而,而另一个是矩阵另一个是矩阵时,把时,把标标量量与与矩阵的每一个元素矩阵的每一个元素按标量关系运算规则逐个比按标量关系运算规则逐个比较。较。第31页,共97页,编辑于2022年,星期六3、逻辑运算、逻辑运算(1)MATLAB提供了提供了3种逻辑运算符:种逻辑运算符:&(与与)、|(或或)和和(非非)。(2)逻辑运算符的运算法则:)逻辑运算符的运算法则:在逻辑运算中,确认非零元素为真,用在逻辑运算中,确认非零元素为真,用1 1表示,零表示,零元素为假,用元素为假,用0 0表示。表示。当参与逻辑运算的是当参与逻辑运算

26、的是两个标量两个标量a a和和b b,那么,那么,a&b:a,b全为非零时,结果为全为非零时,结果为1,否则为,否则为0。a|b:a,b中只要有一个非零,结果为中只要有一个非零,结果为1。a:当当a是零时是零时,结果为结果为1;当;当a非零时非零时,结果为结果为0。第32页,共97页,编辑于2022年,星期六 当当两个维数相同的矩阵两个维数相同的矩阵做逻辑运算做逻辑运算 时,时,相同位置上的相同位置上的元素元素按标量关系运算规则逐个进行。按标量关系运算规则逐个进行。当参与逻辑运算的当参与逻辑运算的一个是标量一个是标量,而,而另一个是矩阵另一个是矩阵时,时,把把标量标量与与矩阵的每一个元素矩阵的

27、每一个元素按标量关系运算规则逐个进按标量关系运算规则逐个进行。行。第33页,共97页,编辑于2022年,星期六u各运算符的优先级各运算符的优先级算术算术 关系关系 逻辑逻辑第34页,共97页,编辑于2022年,星期六u size(A)求出矩阵求出矩阵 A 的的行数和列数行数和列数u length(x)返回向量返回向量 X 的的长度长度1、查看矩阵的大小:、查看矩阵的大小:2.4 矩阵的相关操作的函数矩阵的相关操作的函数2、矩阵的转置与共轭转置矩阵的转置与共轭转置u 共轭转置共轭转置u .转置,矩阵元素不取共轭转置,矩阵元素不取共轭点与单引号之间不能有空格!第35页,共97页,编辑于2022年,

28、星期六例如例如 A=1 2;2i 3i B=A C=A.3、删除矩阵元素删除矩阵元素 A=1 2 3;4 5 6;7 8 9 A(:,2)=结果:结果:A=1 3 4 6 7 9 注:注:如要删除单个元素不能如要删除单个元素不能:A(1,2)=;可用可用A(4)=不过剩下的元素将排成一组数,而非矩阵。不过剩下的元素将排成一组数,而非矩阵。A=1 2 3;4 5 6;7 8 9 A(4)=结果:结果:A=1 4 7 5 8 3 6 9第36页,共97页,编辑于2022年,星期六4、向量和矩阵的范数向量和矩阵的范数norm(V)或或norm(V,2)求向量求向量V(或矩阵(或矩阵V)的的2范数范数

29、norm(V,1)求向量求向量V(或矩阵(或矩阵V)的)的1范数范数norm(V,inf)求向量求向量V(或矩阵(或矩阵V)的的范数范数5、求方阵、求方阵A的行列式的行列式:det(A)6、求方阵、求方阵A的逆矩阵的逆矩阵:inv(A)7、求矩阵、求矩阵A的迹的迹:trace(A)8、求矩阵、求矩阵A的秩的秩:rank(A)9、求矩阵、求矩阵A的特征值和特征向量的特征值和特征向量:d=eig(A)V,D=eig(A)第37页,共97页,编辑于2022年,星期六10、矩阵分解、矩阵分解u三角分解三角分解:L,U=lu(A)其中:其中:L是由对角线元素全为是由对角线元素全为1的下三角阵经转化而成,

30、的下三角阵经转化而成,U为上三角阵,为上三角阵,满足满足A=LUu正交分解:正交分解:Q,R=qr(A)其中:其中:Q是正交阵,是正交阵,R为上三角阵,满足为上三角阵,满足A=QR11、其他常用命令、其他常用命令max(A)求求A各列最大元素各列最大元素min(A)求求A各列的最小值各列的最小值mean(A)求求A各列的平均值各列的平均值sum(A)求求A各列元素之和各列元素之和prod(A)求求A的各列元素之积的各列元素之积sort(A)使使A各列元素按递增排序各列元素按递增排序第38页,共97页,编辑于2022年,星期六median(A)求求A各列的中位元素各列的中位元素std(A)求求A

31、各列的标准差各列的标准差var(A)求求A各列的方差各列的方差find(A)找出找出矩阵矩阵A中非零中非零元素所在的元素所在的下标下标find(条件条件)找出符合条件的元素所在的位置找出符合条件的元素所在的位置diag(A)提取矩阵提取矩阵A 的主对角线上元素,生成一个列向量的主对角线上元素,生成一个列向量diag(A,k)提取矩阵提取矩阵A第第k条对角线的元素条对角线的元素diag(V)以向量以向量V的元素为主对角线上的元素构造的对角的元素为主对角线上的元素构造的对角 矩阵矩阵diag(V,k)以向量以向量V的元素为第的元素为第k条对角线上的元素的构造条对角线上的元素的构造 的对角阵的对角阵

32、第39页,共97页,编辑于2022年,星期六12、向量与多项式、向量与多项式例:建立多项式例:建立多项式 p1=2,5,0,4,1,4;p1=2,5,0,4,1,4;p2=0,1,0,2,0,4;p1+p2 p1-p2求求第40页,共97页,编辑于2022年,星期六u多项式的乘法多项式的乘法 conv(P1,P2)求多项式求多项式P1和和P2的乘积的乘积u多项式的除法多项式的除法 Q,r=deconv(P1,P2)求求P1/P2;其中其中Q为商式为商式,r为余式为余式。u 多项式求根多项式求根 roots(P)P是多项式是多项式 p(x)的系数向量,该函数返回的系数向量,该函数返回 p(x)=

33、0 的全部的全部根(含重根,复根)根(含重根,复根)u多项式求函数值多项式求函数值 polyval(P,x)求多项式求多项式 P在某点或某些点的函数值;在某点或某些点的函数值;若若x为一数值,为一数值,则求多项式则求多项式P在该点处的值;在该点处的值;若若x为向量或矩阵,则求多项式为向量或矩阵,则求多项式P在向量或矩阵中的每个元素处的在向量或矩阵中的每个元素处的值值第41页,共97页,编辑于2022年,星期六第三节第三节 MATLAB程序设计程序设计q 用用 Matlab 语言编写的程序称为语言编写的程序称为 M 文件文件。q M 文件根据调用方式的不同可以分为两类:文件根据调用方式的不同可以

34、分为两类:u Script:脚本文件:脚本文件/命令文件命令文件 u Function:函数文件:函数文件 q M 文件以文件以.m 为扩展名。为扩展名。3.1 M文件文件第42页,共97页,编辑于2022年,星期六M 文件的建立、打开、运行q 新建一个新建一个 M 文件文件u 菜单操作菜单操作(File New M-File)u命令按钮命令按钮(快捷键快捷键)q 打开已有的打开已有的 M 文件文件u 菜单操作菜单操作 (File Open)u 命令按钮命令按钮 (快捷键快捷键)第43页,共97页,编辑于2022年,星期六q 运行运行 M脚本文件脚本文件u editor编辑窗口编辑窗口(Deb

35、ug run)u命令按钮命令按钮(快捷键快捷键)第44页,共97页,编辑于2022年,星期六function 输出形参列表输出形参列表=函数名函数名(输入形参列表输入形参列表)%注释说明部分注释说明部分(可选可选)函数体语句函数体语句(必须必须)u 第一行为第一行为引导行引导行,表示该,表示该 M文件是函数文件文件是函数文件u 函数名的命名规则与变量名相同函数名的命名规则与变量名相同(必须以字母开头必须以字母开头)u 当输出行参只有一个时,可省略当输出行参只有一个时,可省略方括号方括号u 函数必须是一个函数必须是一个单独的单独的 M文件文件u 函数函数文件名必须与函数名一致文件名必须与函数名一

36、致u 以以百分号百分号开始的语句为开始的语句为注释语句注释语句3.2函数文件函数文件 函数文件的结构:由 function 语句引导第45页,共97页,编辑于2022年,星期六q 函数调用函数调用输出实参列表输出实参列表=函数名函数名(输入实参列表输入实参列表)u 函数调用时,函数调用时,实参的顺序实参的顺序应与函数定义时的应与函数定义时的形参的顺序形参的顺序一一致。致。第46页,共97页,编辑于2022年,星期六 函数文件如下:函数文件如下:functions,p=fcircle(r)%CIRCLEcalculatetheareaandperimeterofacircleofradiir%r

37、圆半径圆半径%s圆面积圆面积%p圆周长圆周长s=pi*r*r;p=2*pi*r;例例 编写函数文件求半径为编写函数文件求半径为r的圆的面积和周长。的圆的面积和周长。以文件名以文件名fcircle.m存入存入c:matlab71work下,下,然后在然后在MATLAB命令窗口调用该函数:命令窗口调用该函数:s,p=fcircle(10)第47页,共97页,编辑于2022年,星期六q 程序控制结构有三种:顺序结构、选择结构和循环结构。任何复杂的程序都由这三种基本结构组成。u 顺序结构顺序结构l 按排列顺序依次执行各条语句,直到程序的最后。l 这是最简单的一种程序结构,一般涉及数据的输入输出、数据的

38、计算或处理等。3.3 M文件控制结构文件控制结构第48页,共97页,编辑于2022年,星期六选择结构选择结构 是根据给定的条件成立或不成立,分别执行不同的语句。Matlab 用于实现选择结构的语句有 if 语句、switch 语句和try语句。选择结构选择结构第49页,共97页,编辑于2022年,星期六if 条件条件 语句组语句组1else 语句组语句组2endl 双分支结构l 单分支结构if 条件条件 语句组语句组endif 条件语句第50页,共97页,编辑于2022年,星期六if 条件1 语句组1elseif 条件2 语句组2.elseif 条件m 语句组melse 语句组endl 多分支

39、结构第51页,共97页,编辑于2022年,星期六l 根据表达式的不同取值,分别执行不同的语句。switch 表达式表达式 case 表达式表达式1 语句组语句组1 case 表达式表达式2 语句组语句组2 .case 表达式表达式m 语句组语句组m otherwise 语句组语句组endswitch 语句第52页,共97页,编辑于2022年,星期六l Matlab 首先计算 表达式表达式的值,然后将它依次与各个 case 指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch 结构。l switch 后面的表达式 表达式表达式的值可以是一个标量或字符串。switc

40、h 语句l otherwise 指令可以不出现。l 如果所有的比较结果都为假,则执行 otherwise 后面的语句组,然后跳出 switch 结构。第53页,共97页,编辑于2022年,星期六try 语句try 语句组语句组1%语句组语句组1若正确则跳出该结构若正确则跳出该结构catch 语句组语句组2endl try语句先试探性执行语句组语句先试探性执行语句组1,如果语句组,如果语句组1在执行过在执行过程中出现错误,则将错误信息赋给保留的程中出现错误,则将错误信息赋给保留的lasterr变量,变量,并转去执行语句组并转去执行语句组2。第54页,共97页,编辑于2022年,星期六for 循环

41、变量循环变量=初值:步长:终值初值:步长:终值 循环体循环体end 循环结构循环结构注意:注意:for 循环适合循环次数确定的情况;循环适合循环次数确定的情况;while循环适合循环次数不确定的情况循环适合循环次数不确定的情况 while循环循环容易出现容易出现死循环死循环,使用时一定要注意,使用时一定要注意.若出现死循环,则按键盘:若出现死循环,则按键盘:Ctrl+C强制结束程序强制结束程序.while 条件条件 循环体循环体end提示:与各种编程语言一样,各种结构之间可以嵌套使用提示:与各种编程语言一样,各种结构之间可以嵌套使用.第55页,共97页,编辑于2022年,星期六例例已知已知y的

42、表达式的表达式,当,当n=100时,时,求求y的值。的值。程序如下:程序如下:y=0;n=100;for i=1:n y=y+1/i/i;end y在实际在实际MATLAB编程中,为提高编程中,为提高程序的执行速度,常用向量运算程序的执行速度,常用向量运算来代替循环操作:来代替循环操作:n=100;i=1:n;f=1./i.2;y=sum(f)第56页,共97页,编辑于2022年,星期六第四节第四节MATLAB绘图绘图第57页,共97页,编辑于2022年,星期六1、法法1:plot(x,y)x x 是向量是向量是向量是向量,y,y 是矩阵是矩阵是矩阵是矩阵,若,若 x 的长度与的长度与 y 的

43、行数相等,则将的行数相等,则将 x 与与 y 中的中的各列相对应,绘制多条平面曲线;否则,若各列相对应,绘制多条平面曲线;否则,若 x 的长度与的长度与 y 的列数相等,的列数相等,则将则将 x 与与 y 中的各行相对应,绘制多条平面曲线。此时中的各行相对应,绘制多条平面曲线。此时 x 的长度必须的长度必须等于等于 y 的行数或列数的行数或列数。x,y 都是矩阵,都是矩阵,则将则将 x和和 y的对应列组合的对应列组合,绘制多条平面曲线。此时,绘制多条平面曲线。此时 x,y 必须具有必须具有相同的大小相同的大小。x,y 都是向量都是向量,则以,则以 x 中元素为中元素为横坐标横坐标,y 中元素中

44、元素为纵坐标为纵坐标作平面作平面曲线。此时曲线。此时 x,y 必须具有必须具有相同长度相同长度。4.1 4.1 二维图形二维图形第58页,共97页,编辑于2022年,星期六输入参数都为输入参数都为向量向量时,时,x1和和y1,,xn和和yn分别组分别组成一组向量对,每一组向量对的长度可以不同。每成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。标内绘制出多条曲线。plot(x1,y1,选项选项1,xn,yn,选项选项n)u当输入参数当输入参数有矩阵形式有矩阵形式时,配对的时,配对的x,y按对应

45、列按对应列元素为横、元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数纵坐标分别绘制曲线,曲线条数等于矩阵的列数第59页,共97页,编辑于2022年,星期六图形的基本属性图形的基本属性线型点标记颜色-实线:虚线-.点划线-间断线.点o 小圆圈x 叉子符+加号*星号s 方格d 菱形 朝上三角v 朝下三角 朝右三角x=0:pi/15:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,b:+,x,y2,g-.*)例:例:蓝色、虚线、蓝色、虚线、离散点用加号离散点用加号绿色、点划线线、绿色、点划线线、离散点用星号离散点用星号第61页,共97页,编辑于2022年,星期六法2、二维曲

46、线的绘制:ezplotu ezplot(f(x,y),a,b,c,d)绘绘f(x,y)=0在区间在区间 axb,cyd 上的图形上的图形u ezplot(f,g,a,b)绘绘x=f(t),y=g(t)在区间在区间 atb 上的图形上的图形u ezplot(f(x,y),a,b)绘绘f(x,y)=0在区间在区间 ax,yb 上的图形上的图形缺省的绘图区间为-2,2缺省的绘图区间为 0,2u ezplot(f,a,b)绘绘 y=f(x)在区间在区间 axb 上的图形上的图形缺省的绘图区间为-2,2第62页,共97页,编辑于2022年,星期六例:ezplot 作图第63页,共97页,编辑于2022年

47、,星期六4.2 三维曲线:plot3绘制一条三维曲线:x=x(t),y=y(t),z=z(t),则:则:plot3的用法与 plot 类似plot3(x,y,z,选项选项)plot3(x1,y1,z1,选项选项1,x2,y2,z2,选项选项2 ,xn,yn,zn,选项选项n)绘制多条三维曲线:q三维曲线的简捷绘制:ezplot3缺省的绘图区间为 0,2u ezplot3(x,y,z,a,b)绘空间曲线绘空间曲线x=x(t),y=y(t),z=z(t)在在 atb 上的图形上的图形第64页,共97页,编辑于2022年,星期六4.3 三维曲面 绘制由函数 z=z(x,y)确定的曲面时,步骤如下:u

48、 setp1:x=a:dx:b;y=c:dy:d;X,Y=meshgrid(x,y);u setp2:再计算函数z=z(x,y)在各网格点上的值Z=;注意此处采用点运算注意此处采用点运算u setp3:其中,其中,X,Y 是网格划分是网格划分后得到的网格矩阵后得到的网格矩阵若 x=y,则可简写为 X,Y=meshgrid(x)mesh(X,Y,Z,C)或或 surf(X,Y,Z,C)或或 其它绘图函数其它绘图函数绘制由矩阵绘制由矩阵 X,Y,Z 所确定的曲面所确定的曲面网格图网格图(或着色的表面或着色的表面图图),矩阵矩阵 C 用于确定网格用于确定网格颜色,省略时颜色,省略时 C=Z。第65页

49、,共97页,编辑于2022年,星期六q 例:“墨西哥帽子”(a x a,-a y x=-8:0.5:8;y=-8:0.5:8;X,Y=meshgrid(x,y);r=sqrt(X.2+Y.2)+eps;Z=sin(r)./r;subplot(1,2,1),mesh(X,Y,Z)subplot(1,2,2),surf(X,Y,Z)eps?第67页,共97页,编辑于2022年,星期六mesh 与与 surf 的比较的比较第68页,共97页,编辑于2022年,星期六q 三维三维曲面的简捷绘制:ezmesh、ezsurfu ezmesh(z,a,b,c,d)u ezmesh(x,y,z,a,b,c,d

50、)ezsurf 的用法与 ezmesh 相同第69页,共97页,编辑于2022年,星期六u 标题标注title(text,属性属性1,属性属性1的值的值,属性属性2,属性属性2的值的值,.)属性属性:linewidth,markersize,fontsize,fontweight,fontname,4.4 辅助操作(适合二维和三维图形)辅助操作(适合二维和三维图形)u 坐标轴标注 xlabel、ylabel、zlabel第70页,共97页,编辑于2022年,星期六u 添加图例 legendu 在指定位置(x,y)处添加文本text(x,y,string1,string2,.)u 显示网格gri

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁