数模MATLAB及应用课件.ppt

上传人(卖家):ziliao2023 文档编号:5613770 上传时间:2023-04-27 格式:PPT 页数:112 大小:3.38MB
下载 相关 举报
数模MATLAB及应用课件.ppt_第1页
第1页 / 共112页
数模MATLAB及应用课件.ppt_第2页
第2页 / 共112页
数模MATLAB及应用课件.ppt_第3页
第3页 / 共112页
数模MATLAB及应用课件.ppt_第4页
第4页 / 共112页
数模MATLAB及应用课件.ppt_第5页
第5页 / 共112页
点击查看更多>>
资源描述

1、数学建模讲稿数学建模讲稿Matlab及其应用及其应用第一节第一节 Matlab概述概述 1、Matlab简介 2、Matlab的工作环境 3、Matlab帮助系统 Matlab简介简介1、MATLAB 的起源与发展的起源与发展MATLAB 是是“矩阵实验室矩阵实验室”(MATrix LABoratory)的)的缩写,最初版本是由缩写,最初版本是由 Cleve Moler 博士用博士用 FORTRAN 语言语言开发的矩阵分析软件。开发的矩阵分析软件。80 年代初期,由年代初期,由 Cleve Moler 和和 John Little采用采用 C 语言语言改写了改写了 MATLAB 的内核。成立了

2、的内核。成立了 Mathworks 软件开发公软件开发公司,并于司,并于1984 年将年将 MATLAB 正式推向市场。正式推向市场。1992 年初推出了应用于年初推出了应用于 Windows 操作系统的操作系统的 MATLAB 4.x 版本。版本。1997 年推出年推出 5.1 版本。版本。1998 年推出年推出 5.2 版本。版本。1999 年推出年推出 MATLAB 5.3 版本,版本,MATLAB 5.3对应于对应于 Release 11。2000 年又推出了更为简便易学的年又推出了更为简便易学的 MATLAB 6.0 版本,版本,MATLAB 6.0 对应于对应于 Release 1

3、2。Matlab简介简介2、MATLAB 的主要特点的主要特点MATLAB 的基本单位为矩阵的基本单位为矩阵.MATLAB 语言以解释方式工作语言以解释方式工作.具有非常友好的人机界面。具有非常友好的人机界面。具有强大的作图和数据可视化功能具有强大的作图和数据可视化功能.具有极强的可扩展性。具有极强的可扩展性。3、MATLAB 的基本组成的基本组成MATLAB 主程序、主程序、Simulink 动态系统仿真和动态系统仿真和 MATLAB 工具箱(工具箱(Toolbox)三大部分组成。)三大部分组成。主程序包括了主程序包括了 MATLAB 语言、工作环境、句柄图形、语言、工作环境、句柄图形、数学

4、函数库和应用程序接口五部分数学函数库和应用程序接口五部分.MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云.Matlab 的安装的安装MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab工作环境界面工作环境界面1.MATLAB 的启动的启动 桌面快捷方式启动桌面快捷方式启动 开始菜单方式启动开始菜单方式启动2.MATLAB和退出和退出 Matlab菜单命令菜单命令/关闭按钮关闭按钮 在在Matlab命令窗口输入命令窗口输入exit或或quitMATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab工作环境界面工作环境界面 历史命令历史

5、命令 启动平台启动平台 命令命令 窗口窗口 标题栏标题栏 菜单栏菜单栏 常用工具栏常用工具栏 工作空间工作空间 当前路径当前路径MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云1、MATLAB 菜单项菜单项File(文件)菜单文件)菜单 Edit(编辑)菜单编辑)菜单 View(视图)菜单视图)菜单Window(窗口)菜单窗口)菜单Web(连网信息)连网信息)Help(帮助)菜单帮助)菜单 Matlab工作环境界面工作环境界面MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab工作环境界面工作环境界面2、MATLAB工具栏工具栏 例例 1-1 绘制函数绘

6、制函数 y=2sin(1+x)的图像,并计算当的图像,并计算当 x=0.5 时时的函数值。的函数值。Matlab工作环境界面工作环境界面Matlab工作环境界面工作环境界面3、MATLAB 通用命令通用命令Matlab帮助系统帮助系统1、Matlab联机帮助联机帮助#工具条中的工具条中的?按钮;按钮;#help菜单栏中前菜单栏中前2 项中的任何一项;项中的任何一项;#在命令窗口中执行在命令窗口中执行 helpdesk或或doc。MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab帮助系统帮助系统3、Matlab常用的窗口帮助命令常用的窗口帮助命令MATLAB 重庆邮电大

7、学重庆邮电大学 数理学院数理学院 沈世云Matlab帮助系统帮助系统help 命令命令直接输入直接输入 help,MATLAB 将列出所有的帮助主题,每将列出所有的帮助主题,每个帮助主题对应于个帮助主题对应于 MATLAB搜索路径中的一个目录;搜索路径中的一个目录;help 后加帮助主题,可获得指定帮助主题的帮助信息;后加帮助主题,可获得指定帮助主题的帮助信息;help 后加函数名;后加函数名;help 后加命令名,将得到指定命令的用法;后加命令名,将得到指定命令的用法;MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab帮助系统帮助系统demo 命令基本矩阵演示窗口基

8、本矩阵演示窗口MATLAB 演示窗口演示窗口MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab帮助系统帮助系统helpwin 命令用于打开 MATLAB 的帮助文件窗MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云Matlab帮助系统帮助系统lookfor 命令允许用户通过完整的或部分关键命令允许用户通过完整的或部分关键字来搜索要查找的内容字来搜索要查找的内容who 和和 whos 的作用是列出在的作用是列出在 MATLAB 工作工作内存中驻留的变量名内存中驻留的变量名exist 命令用来查找或检查变量和函数的存在命令用来查找或检查变量和函数的存在性性

9、MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云第二节第二节 Matlab 编程基础编程基础v1 变量v2 数组,向量与矩阵的创建和访问v3 部分特殊变量和常数v4 部分常用运算符v5 Matlab的程序设计v6 m文件的创建,保存v7 基本数学函数和基本绘图函数v8 编程举例MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云2.1 变量变量变量无需定义即可使用。变量无需定义即可使用。变量名的大小写是敏感的。变量的第一个字符必须为英文字母,而且不超过31个字符。变量名可以包含下连字符、数字,但不能为空格符、标点。MATLAB 重庆邮电大学重庆邮电大学 数理学院数理

10、学院 沈世云2.2 数组,向量与矩阵的创建和访问数组,向量与矩阵的创建和访问在Matlab中,这三个概念在创建和显示创建和显示的时候没有任何区别。向量的创建 要创建一个向量,在命令窗口下输入:t=0:1:10屏幕显示:t=0 1 2 3 4 5 6 7 8 9 10注意:向量的第一个元素的下标是向量的第一个元素的下标是1,而不是,而不是0。T=0:1:10产生了010步长为1的共11个数,保存在t(1),t(2),t(11)中。MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云v矩阵的创建 例如:创建一个33的矩阵,输入:a=1 2 3;4 5 6;7 8 9 屏幕输出a=1 2

11、 3 4 5 6 7 8 9MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云v访问矩阵的某一个元素:访问矩阵的某一个元素:a(3,2)ans=8访问矩阵某行访问矩阵某行(列)的所有元素:列)的所有元素:a(3,:)a(:,2)注意:这两个符号分别是注意:这两个符号分别是1*3行向量和行向量和3*1列向量列向量 MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云2.3 部分特殊变量和常数部分特殊变量和常数vans 最近生成的无名结果最近生成的无名结果veps 浮点数的相对误差vpi 3.14145926v i 虚数单位虚数单位v j 虚数单位虚数单位vInf 无穷大

12、,如n/0 MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云2.4 部分常用运算符部分常用运算符2.4.1 算术运算符算术运算符v 加加v 减减v*乘乘(包括标量乘,矩阵乘,标量与矩阵乘包括标量乘,矩阵乘,标量与矩阵乘)v/除除(包括标量除,矩阵除标量,数组除标量包括标量除,矩阵除标量,数组除标量)v 矩阵求幂(矩阵必须为方阵)矩阵求幂(矩阵必须为方阵)v.*数组相乘数组相乘v./数组相除数组相除v.数组求幂数组求幂注意:注意:.*(./)表示两个同维数组中的对应元素做乘(除)表示两个同维数组中的对应元素做乘(除).表示对数组的每个元素求幂表示对数组的每个元素求幂MATLAB

13、重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云2.4.2 关系运算符关系运算符v 小于小于v 大于大于v=大于等于大于等于v=等于等于v=不等于不等于运算法则:若关系式成立,结果为运算法则:若关系式成立,结果为1;若关系式不成立,结果为若关系式不成立,结果为0。MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云2.4.3 逻辑运算符逻辑运算符v&与与|或或 非非运算法则:运算法则:若逻辑真,结果为若逻辑真,结果为1,若逻辑假,结果为若逻辑假,结果为0。2.4.4 其他常见符号其他常见符号v=变量赋值变量赋值v%注

14、释符注释符v 共轭转置符共轭转置符v:冒号运算符冒号运算符v n:s:m 产生产生nm,步长为步长为s的序列,的序列,s可以为可以为 正或负或者小数,默认值为正或负或者小数,默认值为1。MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云sin 正弦函数正弦函数 asin 反正弦函数反正弦函数 cos 余弦函数余弦函数 acos 反余弦函数反余弦函数 tan 正切函数正切函数 atan 反正切函数反正切函数 cot 余切函数余切函数 acot 反余切函数反余切函数 sec 正割函数正割函数 asec 反正割函数反正割函数 csc 余割函数余割函数 acsc 反余割函数反余割函数 s

15、inh 双曲正弦函数双曲正弦函数 asinh 反双曲正弦函数反双曲正弦函数 cosh 双曲余弦函数双曲余弦函数 acosh 反双曲余弦函数反双曲余弦函数 tanh 双曲正切函数双曲正切函数 atanh 反双曲正切函数反双曲正切函数 sech 双曲正割函数双曲正割函数 asech 反双曲正割函数反双曲正割函数 csch 双曲余割函数双曲余割函数 acsch 反双曲余割函数反双曲余割函数 coth 双曲余切函数双曲余切函数 acoth 反双曲余切函数反双曲余切函数 三角函数与双曲函数三角函数与双曲函数abs(x)绝对值绝对值sqrt(x)开平方开平方conj(z)共轭复数共轭复数round(x)四

16、舍五入四舍五入floor(x)舍去正小数舍去正小数rat(x)化为分数表示化为分数表示gcd(x,y)最大公因数最大公因数exp(x)自然指数自然指数log(x)e为底的对数为底的对数Log10(x)10为底的对数为底的对数angle(z)复数复数z的相角的相角real(z)复数复数z的实部的实部imag(z)复数复数z的虚部的虚部fix(x)舍去小数取整舍去小数取整ceil(x)加入正小数取整加入正小数取整sign(x)符号函数符号函数rem(x,y)求求x除以除以y的余数的余数lcm(x,y)最小公倍数最小公倍数pow2(x)以以2为底的指数为底的指数log2(x)以以2为底的对数为底的对

17、数who 列出在列出在MATLAB工作空间中已有的变量工作空间中已有的变量whos 列出驻留变量的同时列出驻留变量的同时,还给出维数及性质还给出维数及性质clear 删除内存中的变量(数据)删除内存中的变量(数据)clc 删除命令窗口的内容(已使用过的命令)删除命令窗口的内容(已使用过的命令)home 光标移到命令窗口的左上角光标移到命令窗口的左上角clf 删除图形窗口的内容删除图形窗口的内容 调出刚才使用过的命令调出刚才使用过的命令quit 退出退出MATLAB11/15MATLAB 常用函数介绍常用函数介绍MATLAB命令窗口的部分通用命令命令窗口的部分通用命令二.matlab应用初步 1

18、 1 用用MatlabMatlab进行多项式运算与方程求根进行多项式运算与方程求根 2 2 用用MatlabMatlab进行求导运算进行求导运算 3 3 用用MatlabMatlab进行求极限进行求极限1 Matlab多项式运算与方程求根多项式运算与方程求根1.1 Matlab多项式运算q 在在 Matlab 中中,n 次多项式是用一个长度为次多项式是用一个长度为 n+1的向量来表示,缺的向量来表示,缺少的幂次项系数为少的幂次项系数为 0。例如:。例如:0111)(axaxaxaxpnnnn在在 Matlab中中表示为相应的向量:表示为相应的向量:,011aaaannq 例:例:3223 xx

19、 3 ,0 ,1,2注:系数中的零不能省!注:系数中的零不能省!q 多项式四则运算多项式四则运算 多项式加减运算:多项式加减运算:Matlab没有提供专门进行多项式加减运算的函数,没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算。事实上,多项式的加减就是其所对应的系数向量的加减运算。例:例:32231xxp 3 ,0 ,1,2 对于次数相同的多项式,可以直接对其系数向量进行加减运算;对于次数相同的多项式,可以直接对其系数向量进行加减运算;如果两个多项式次数不同,则应该把低次多项式中系数不足的高次如果两个多项式次数不同,则应该把低次多项式中系数不足的高次

20、项用项用0补足,然后进行加减运算。补足,然后进行加减运算。122xp4222321xxxpp 1 ,2 4 ,2 ,1,2q 多项式四则运算(续)多项式乘法运算:多项式乘法运算:k=conv(p,q)例:计算多项式例:计算多项式 和和 的乘积的乘积3223 xx12 xp=2,-1,0,3;q=2,1;k=conv(p,q)多项式除法运算:多项式除法运算:k,r=deconv(p,q)其中其中 k 返回的是多项式返回的是多项式 p 除以除以 q 的商,的商,r 是余式。是余式。k,r=deconv(p,q)p=conv(q,k)+r1.2 多项式的导数:多项式的导数:polyderk=poly

21、der(p):多项式多项式 p 的导数;的导数;k=polyder(p,q):p*q 的导数;的导数;k,d=polyder(p,q):p/q 的导数,的导数,k是分子,是分子,d是分母。是分母。k1=polyder(2,-1,0,3)k2=polyder(2,-1,0,3,2,1)k3,d=polyder(2,-1,0,3,2,1)例:已知例:已知 ,求求32)(23xxxp12)(xxq)/(,)(,qpqpp1.3 多项式求值p=2,-1,0,3;x=2;polyval(p,x)x=-1,2;-2,1;polyval(p,x)例:已知例:已知 ,分别取,分别取 x=2和一个和一个2 2矩

22、阵,矩阵,求求 p(x)在在 x 处的值处的值32)(23xxxp 代数多项式求值:代数多项式求值:y=polyval(p,x):计算多项式计算多项式 p 在在 x 点的值点的值注:若注:若 x x 是向量或矩阵,则采用数组运算(点运算)!是向量或矩阵,则采用数组运算(点运算)!q 多项式求值(续)p=2,-1,0,3;x=-1,2;-2,1;polyval(p,x)polyvalm(p,x)例:已知例:已知 ,则,则32)(23xxxp 矩阵多项式求值:矩阵多项式求值:Y=polyvalm(p,X):以方阵:以方阵X为自变量,为自变量,计算多项式的值,采用矩阵运算。计算多项式的值,采用矩阵运

23、算。polyvalm(p,A)=2*A*A*A-A*A+3*eye(size(A);polyval(P,A)=2*A.*A.*A-A.*A+3*ones(size(A)1.4 多项式求根多项式求根p=2,-1,0,3;x=roots(p)x=roots(p):若:若p是是n次多项式,则输出次多项式,则输出x为包为包含含p=0的的n个根的个根的n维向量。维向量。例:已知例:已知 ,求,求p(x)的零点。的零点。32)(23xxxp2.用用Matlab进行求导运算进行求导运算在在Matlab 中,求函数的导数或偏导数的格式为:中,求函数的导数或偏导数的格式为:difff表示表示f对对x求一阶导数求

24、一阶导数表示表示f对对x求求n阶导数阶导数,difff x n 3cosln2f xxx例例1:求函数:求函数 的导数的导数解解Syms xy=x3+cos(x)+log(2);z=diff(y)cosxyex例例2:求函数:求函数 的二阶及三阶导的二阶及三阶导数数解解 2*exp()*sin()2*exp()*cos()ansxxxx例例3:求函数:求函数 的二阶及三阶导的二阶及三阶导数数lnxyxxans=xx*(log(x)+1)*log(x)+xx/xSyms xy=exp(-x)*cos(x)Z=diff(y,3)Syms xy=xx*log(x)Z=diff(y,3)n=0:1:6

25、3;S=sum(2.n)S=1.8447e+019例例2.计算计算sin x 在在 处的值处的值3,4,6,8 clear x=pi./8,6,4,3;y=sin(x)y=0.3827 0.5000 0.7071 0.8660例例1.计算级数计算级数:S=1+2+22+23+263=6302nn8/15例例3.衰减振荡曲线函数衰减振荡曲线函数:y=e-0.5x sin 5x图形图形.x=0:0.1:4*pi;y=exp(-0.5*x);y1=y.*sin(5*x);plot(x,y1,x,y,-r,x,-y,-r)3.3 用用Matlab进行画图进行画图1.1.常见初等函数的图形常见初等函数的

26、图形2.2.本实验所用本实验所用MatlabMatlab命令提示:命令提示:(1 1)绘制二维的最常用的命令是)绘制二维的最常用的命令是 plot,plot,基本用法为:基本用法为:plot(x,y)plot(x,y):以:以x x为横坐标、为横坐标、y y为纵坐标绘制函数或为纵坐标绘制函数或 数据图形数据图形plot(y):plot(y):绘制一个向量的图形,相当于绘制一个向量的图形,相当于x=1,2,x=1,2,length(y)length(y)时的情形时的情形在同一图形窗口中绘制多个曲线:可用在同一图形窗口中绘制多个曲线:可用plot(x,y1;plot(x,y1;y2;y2;)命令,

27、其中命令,其中x x是横坐标向量,是横坐标向量,y1;y2;y1;y2;是是由几个函数的纵坐标拼成的矩阵,这时由几个函数的纵坐标拼成的矩阵,这时MatlabMatlab将用将用不同颜色的曲线表示不同的函数。不同颜色的曲线表示不同的函数。(2 2)图形文字标注命令:)图形文字标注命令:xlabel(xxlabel(x轴名称轴名称);ylabel(y);ylabel(y轴名称轴名称);zlabel(zzlabel(z轴名称轴名称)title(title(图形标题图形标题);text();text(说明文字说明文字););用鼠标在特定用鼠标在特定位置输位置输 入文字。入文字。legendlegend

28、命令:可用于说明不同函数所使用的线型。命令:可用于说明不同函数所使用的线型。(3 3)绘制三维图形的命令:)绘制三维图形的命令:meshgridmeshgrid命令:用于形成二维网格点。然后计算在这些网格命令:用于形成二维网格点。然后计算在这些网格 上的函数值,为绘制图形做准备。上的函数值,为绘制图形做准备。三维绘图命令:三维绘图命令:plot3(x,y,z)%plot3(x,y,z)%线条图线条图 mesh(x,y,z)%mesh(x,y,z)%网格图网格图 meshcmeshc(x,y,zx,y,z)%具有基本等高线的网格图具有基本等高线的网格图 suefsuef(x,y,zx,y,z)%

29、表面图表面图 suefcsuefc(x,y,zx,y,z)%具有基本等高线的表面图具有基本等高线的表面图ezplot3(x,y,z,animate):Matlab6.xezplot3(x,y,z,animate):Matlab6.x提供了提供了ezplot3ezplot3命命令,令,产生三维动画图形。产生三维动画图形。(4 4)条形图)条形图 bar(x,y)%bar(x,y)%竖直条形图竖直条形图 barh(x,y)%barh(x,y)%水平条形图水平条形图 bar3(x,y)%bar3(x,y)%三维竖直条形图三维竖直条形图 barh3(x,y)%barh3(x,y)%三维水平条形图三维水

30、平条形图(5 5)线条和颜色控制符)线条和颜色控制符:.:.点点 y y 黄黄 。小圆圈小圆圈 m m 棕色棕色 x xx x标记标记 c c 青色青色 +加号加号 r r 红色红色 -实线实线 g g 绿色绿色 *星号星号 b b 蓝色蓝色 :虚线虚线 w w 白色白色 -.-.点划线点划线 h h 黑色黑色例例1:求在区间:求在区间0,2*pi画画sin(x)解解例例2:求在区间:求在区间0,2*pi用红线画用红线画sin(x),用绿),用绿线画线画cos(x)解解x=0:pi/30:2*pi;y=sin(x);plot(x,y)x=0:pi/30:2*pi;y=sin(x);z=cos(

31、x);plot(x,y,r,x,z,c)()ezplot f符号函数画图:符号函数画图:(,min,maxmin,max)ezplot fxxyy(,min,max)ezplot x ytt(,)ezplot fa b表示在默认区间表示在默认区间-2*pix2*pi绘制绘制f=f(x)的函数图的函数图表示在表示在axb绘制显函数绘制显函数f=f(x)的函数图的函数图表示在区间表示在区间xminxxmax和和yminyymax绘制隐函数绘制隐函数f(x,y)=0的函数图的函数图表示在区间表示在区间tmintx=0:0.01*pi:2*pi;plot(x,sin(x)text(3*pi/4,sin

32、(3*pi/4),leftarrow sin(3pi/4)=,num2str(sin(3*pi/4),FontSize,12)【例例】x=0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,-*)hold on%开启开启plot(x,z,-o)plot(x,y+z,-h)legend(sin(x),cos(x),sin(x)+cos(x),0)hold off%关闭关闭subplot subplot(m,n,p)将一个图形窗口分割成mn个子绘图区域,通过区域编号参数p调用各子区域plot3【例】x=0:pi/50:10*pi;y=sin(x);z=cos(x);p

33、lot3(x,y,z)【例】t=0:0.1:10*pi;x=exp(-t/20).*cos(t);y=exp(-t/20).*sin(t);z=t;plot3(x,y,z);xlabel(x);ylabel(y);zlabel(z);view(az,el)az表示方位角el表示仰角zyx-y视点az方位角el仰角view(az,el)az表示方位角el表示仰角【例】x=2,4,6,8;pie3(x,1,1,1,1)%第二个参数控制各块的分离表:表:绘制三维图形的函数绘制三维图形的函数z=peaks(20);surf(z)t=0:pi/6:4*pi;x,y,z=cylinder(4+cos(t)

34、,30);surf(x,y,z)x=-1 0 1;y=9 10 11 12;X,Y=meshgrid(x,y)Matlab 返回X=-1 0 1-1 0 1-1 0 1-1 0 1Y=9 9 910 10 1011 11 1112 12 12meshgrid(x,y)生成X,Y矩阵X重复x为行向量Y重复y为列向量X,Y=meshgrid(linspace(0,2*pi,50),linspace(0,pi,50);Z=sin(X).*cos(Y);mesh(X,Y,Z)xlabel(x);ylabel(y);zlabel(z);axis(0 2*pi 0 pi-1 1)%马鞍面函数马鞍面函数%z

35、=x2-2y2t2=-30:.3:30;x2,y2=meshgrid(t2);z2=x2.2-2*y2.2;mesh(x2,y2,z2);title(马鞍面马鞍面)22zxy观察两个曲面相交,马鞍面z=x2-2y2和平行于和平行于Z轴平面轴平面3cos sin2cos cossinxuvyuvzuIts very easyu=-2*pi:0.1:2*pi;v=-2*pi:0.1:2*pi;ezmesh(3*cos(u)*sin(v),2*cos(u)*cos(v),sin(u),-2*pi,2*pi,-2*pi,2*pi)u,v在-2pi至2pi命令为ezsurfezsurf(u*sin(v)

36、,u*cos(v),4*v,-2*pi,2*pi,-2*pi,2*pi)u,v在-2pi至2pi命令为ezsurfezsurf(u*sin(v),u*cos(v),u,-2*pi,2*pi,-2*pi,2*pi)(6 6)x=-5:0.5:5;x=-5:0.5:5;y=x;y=x;x,y=meshgrid(x,y);x,y=meshgrid(x,y);z=x.2+y.2;z=x.2+y.2;subplot(2,2,1)subplot(2,2,1)mesh(x,y,z);mesh(x,y,z);subplot(2,2,2)subplot(2,2,2)meshc(x,y,z);meshc(x,y,

37、z);subplot(2,2,3)subplot(2,2,3)surf(x,y,z);surf(x,y,z);subplot(2,2,4)subplot(2,2,4)surfc(x,y,z);surfc(x,y,z);图(图(6)MATLAB语言编程介绍介绍vMATLAB中各种命令可以完成许多单一的任务,对于某些命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的难以达到目的。为此,要运用。为此,要运用MATLAB编程语言编制程编程语言编制程序,形成序,形成M-文件。文件。v程序是使计算机完成各项运

38、算的命令集,运行一个编制好程序是使计算机完成各项运算的命令集,运行一个编制好的程序,计算机会从第一条命令行开始,一行接一行地执的程序,计算机会从第一条命令行开始,一行接一行地执行相应的命令,直到终止。行相应的命令,直到终止。v程序一般包含:数据输入,数据处理和结果输出三部分,程序一般包含:数据输入,数据处理和结果输出三部分,其中数据处理是核心。程序编写调试完成后,需要存盘,其中数据处理是核心。程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。文件形成永久性文件,可以随时对它进行调用或修改。文件 名以字母开头,但不能用专用变量名,如名以字母开头,但不能用专用变量名,如pi

39、等。等。vMATLAB中每一个命令都是一个命令都是一个M-文件。文件。2.5 Matlab 程序设计程序设计v Matlab的工作方式有二种 1.交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并立即给出运算结果。2.m文件的编程方式。m文件是由 matlab语句构成的文件,且文件名必须以.m为扩展名,如example.m。用户可以用任何文件编辑器来对M文件进行编辑。MATLAB 重庆邮电大学重庆邮电大学 数理学院数理学院 沈世云程序流程控制程序流程控制v顺序结构:顺序结构:Matlab 从上到下依次执行各语句,该从上到下依次执行各语句,该结构最简单。结构最简单。

40、v循环结构循环结构(1)for-end(1)for-end 循环循环 用于循环次数事先确定的,格式为用于循环次数事先确定的,格式为for i=for i=n:s:mn:s:m 语句体语句体end end s s 为步长,可以为正数,负数或小数。为步长,可以为正数,负数或小数。(2 2)while-end while-end 循环循环 用于循环次数不能事先确定的,格式用于循环次数不能事先确定的,格式为为 while while 表达式表达式 语句语句 体体 endend 只有表达式为真,就执行语句体,表达只有表达式为真,就执行语句体,表达式为假,终止该循环。式为假,终止该循环。v分支结构分支结构

41、v(1 1)if if 语句语句 格式为格式为if if 表达式表达式1 1 语句体语句体1 1elseifelseif 表达式表达式2 2 语句体语句体2 2.elseelse 语句体语句体elseelseend end 2.6 m文件的创建,保存文件的创建,保存 v 创建创建 【File】菜单下菜单下【New】菜单选项的菜单选项的【M-File】命命 令令 打开打开matlab的的m文件编辑器窗口。文件编辑器窗口。v保存保存 单击单击M文件编辑器窗口工具栏中的文件编辑器窗口工具栏中的【Save】图标,图标,打开保存对话框打开保存对话框 2.7 基本数学函数和基本绘图函数基本数学函数和基本绘

42、图函数sin cos tan cot exp log:自然对数自然对数log10:产用对数产用对数Log2:以二为底的对数以二为底的对数abs:取模取模conj:取共轭取共轭real:取实部取实部 imag:取虚部取虚部基本绘图指令基本绘图指令vMatlabMatlab提供了强大的图形绘制功能。在大多提供了强大的图形绘制功能。在大多数情况下,用户只需要指定绘图的方式,提数情况下,用户只需要指定绘图的方式,提供绘图数据,利用供绘图数据,利用MatlabMatlab提供的丰富的二维,提供的丰富的二维,三维图形函数,就可以绘制出所需的图形。三维图形函数,就可以绘制出所需的图形。v1 1绘制二维连续函

43、数绘制二维连续函数 MatlabMatlab中最常用的绘图函数是中最常用的绘图函数是plotplot,plotplot的的命令格式有以下几种:命令格式有以下几种:v(1)(1)plot(yplot(y)当当y y为一向量时,以为一向量时,以y y的序号作为的序号作为x x轴,按轴,按向量向量y y的值绘制曲线。的值绘制曲线。v(2)(2)plot(x,yplot(x,y)x,yx,y均为向量时,以均为向量时,以x x向量作为向量作为X X轴,向量轴,向量y y作为作为Y Y轴绘制曲线。轴绘制曲线。v注意:注意:x x和和y y种元素的个数必须相同!种元素的个数必须相同!2.绘制二维离散序列绘制

44、二维离散序列在在MatlabMatlab用用stemstem命令实现离散序列的绘制。命令实现离散序列的绘制。stemstem命令的格式有以下几种命令的格式有以下几种:(1)stem(y)(1)stem(y)以以x=1,2,3x=1,2,3为各点数据的为各点数据的x x坐标,以坐标,以y y向量的向量的各个对应元素为各个对应元素为y y坐标,在(坐标,在(X,YX,Y)坐标面画一)坐标面画一个空心小圆圈。个空心小圆圈。(2)stem(x,y,filled)(2)stem(x,y,filled)以以x x向量的各个元素为向量的各个元素为x x坐标,以坐标,以y y向量的各个对向量的各个对应元素为应

45、元素为y y坐标,在(坐标,在(X,YX,Y)坐标面画一个实心)坐标面画一个实心小圆圈,并连接一条线段到小圆圈,并连接一条线段到X X轴。轴。3.8编程举例编程举例v 例一:画出衰减震荡曲线例一:画出衰减震荡曲线 及其包络线及其包络线 t的取值范围是的取值范围是 程序如下:程序如下:teyt3sin330tey4,0t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,-r,t,y0,:b,t,-y0,:b)程序运行结果如下:M-文件中输入、输出命令命令 v直接赋值输入:提示对话输入(input命令)x=2;x=input(请输入

46、参数 x=);a=1,2;3,4;a=input(请输入矩阵 a=);s=any string!;s=input(Please input s=);v直接输出:格式控制输出(fprintf命令)x fprintf(x=%.0f,y=%.5fn,pi,pi);disp(a,b);fprintf(x=%5g,y=%10.5gn,N,pi);M-文件中循环控制命令命令(for命令命令)v格式:for i=n1:(step):n2 commands;end v作用:重复执行命令集作用:重复执行命令集commands.v例例2:求奇数和:求奇数和:s=1+3+5+(2k-1)n=input(请输入请输入

47、 n=);s=0;for i=1:2:n s=s+i;fprintf(i=%.0f,s=%.0fn,i,s);endn例例1:求和:求和:s=1+2+n n=input(请输入请输入 n=);s=0;for i=1:n s=s+i;fprintf(i=%.0f,s=%.0fn,i,s);endv例例3:求阶乘:求阶乘:p=12 3 n=n!n=input(请输入请输入 n=);p=1;for i=1:n p=p*i;fprintf(i=%.0f,p=%.0fn,i,p);endn例例4:求:求e:e=1+1+1/2!+1/3!+1/n!n=input(请输入请输入 n=);p=1;e=1;fo

48、r i=1:n p=p*i;p1=1/p;e=e+p1;fprintf(i=%.0f,p=%.0f,e=%.8f n,i,p,e);end n例例5:求:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+n=input(请输入请输入 n=);pi=0;k=-1;for i=1:2:n k=(-1)*k;pi=pi+k*1/i;fprintf(i=%.0f,pi=%.8f n,i,4*pi);endM-文件中条件循环命令命令(while命令命令)v格式:while(condition is true)commands;end v作用:重复执行命令集作用:重复执行命令集command

49、s.n例例6:求和:求和:s=1+2+n3000 s=0;k=1;while s3000 s=s+k;fprintf(k=%.0f,s=%.0fn,k,s);k=k+1;endn例例7:求:求e:e=1+1+1/2!+1/3!+(1/n!=1.0e-8 p=p*i;r=1/p;e=e+r;fprintf(i=%.0f,r=%.9f,e=%.9f n,i,r,e);i=i+1;endM-文件中选择控制命令命令(if命令命令)v单项选择控制单项选择控制v格式:if(condition is true)commands;end v作用:若条件成立,则执行命令集作用:若条件成立,则执行命令集 comm

50、ands.否则,不执行。否则,不执行。n例例8:求:求n个实数中最大的数个实数中最大的数M.a=input(请输入数组请输入数组 an=);m,n=size(a);M=a(1);for i=2:n if M0 sn=1;elseif x=0 sn=0;else sn=-1;endfprintf(x=%.5f,sn=%.0fn,x,sn);数值计算问题数值计算问题v问题问题1:求无理数的近似值求无理数的近似值 先求先求 的近似值,再设计通用程序的近似值,再设计通用程序.v问题问题2:用两种方法求用两种方法求Pi的近似值的近似值)2,1(nAAn2v例例10:用二分法求函数:用二分法求函数x2-2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数模MATLAB及应用课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|