收藏 分销(赏)

matlab应用案例分析解读.pptx

上传人:w****g 文档编号:4606720 上传时间:2024-10-05 格式:PPTX 页数:52 大小:326.41KB
下载 相关 举报
matlab应用案例分析解读.pptx_第1页
第1页 / 共52页
matlab应用案例分析解读.pptx_第2页
第2页 / 共52页
matlab应用案例分析解读.pptx_第3页
第3页 / 共52页
matlab应用案例分析解读.pptx_第4页
第4页 / 共52页
matlab应用案例分析解读.pptx_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、Matlab及其应用1Matlab在物理中的应用案例研究Matlab及其应用2Matlab的学习方法o必须做大量的练习,熟悉其中的函数o联系和自己的课题相关,深刻的体会o多看帮助文件,又一本好的参考书o记住:Matlab可以做很多事情Matlab及其应用3一、Matlab 概述oMATLAB是美国Mathworks公司推出的一套高性能的数值分析和计算软件。最初的目的是为了解决矩阵的运算问题而开发的,经过不断完善,已成为将矩阵运算、数值分析、图形处理、编程技术结合在一起的功能强大的工具。它的优点在于快速开发计算方法,而不在于计算速度。Matlab及其应用41.1 Matlab的出现o 70年代中

2、期,Cleve Moler和他的同事开发了LINPACK和EISPACK的Fortran子程序库o 70年代末期,Cleve Moler 在新墨西哥大学给学生开线性代数,为学生编写了接口程序,这程序取名为MATLAB,即MATrix LABoratoryo1983年春天,工程师John Little与Moler、Steve Bangert一起开发了第二代专业版MATLABo1984年,MathWorks公司成立,MATLAB正是推向市场。Matlab及其应用51.2 Matlab的版本演化oMatlab 1.0oPc matlab-matlab 386oMatlab3.5+simulinkoM

3、atlab 4.0:simlink内嵌oMatlab 5.0:全面的面向对象oMatlab 5.15.3oMatlab 6.0oMatlab 6.5:购并了MATRIXxoMatlab 7.0:2004Matlab及其应用61.3 Matlab的特点o1 高效方便的矩阵和数组运算o2编程效率高(库函数非常丰富)o3结构化、面向对象o4方便的绘图工具o5用户使用方便o6功能强大的工具箱(核心部分中有数百个核心内部函数)总之,Matlab在信号处理、建模、系统识别、控制、优化等领域的问题处理上优势明显于其它高级语言。Matlab及其应用71.4 解决物理问题常用的软件oMathmatica 数学计

4、算功能。复杂符号计算,主要在理论界oMAGIC 电磁粒子仿真软件o仿真软件:HFSS、CST等等Matlab及其应用8二、MATLAB基础使用2.1 MATLAB操作界面简介o操作桌面的缺省外貌n与先前版本相比,6.x版引入大量的交互工作界面,如通用操作界面、帮助界面、演示界面等n指令窗、历史指令窗、工作空间浏览器和只有窗名的当前目录窗n“开始”按钮(matlab6.5版本新加)o通用操作界面n除以上交互界面外,还有Matlab及其应用9通用交互界面介绍o内存数组编辑器(Array Editor)在工作空间浏览器中对变量操作时才启动o交互界面分类目录窗(Lauch Pad)。可展开成树状结构,

5、列着所有交互界面。oM文件编辑/调试器(Editor/Debugger)当进行“打开文件”操作时才启动。o帮助导航/浏览器(Help avigator/Browser)详尽展示由超文本写成的在线帮助。Matlab及其应用102.2 Matlab命令的两种执行方式 一.交互式的命令执行方式n用户在命令窗口逐条输入命令,matlab逐条执行,这种方式操作简单直观,但速度慢,中间过程无法保留。通用操作界面二.M命令文件的程序设计方式n将有关命令编成程序存储在一个文件(扩展名为.m)中,matlab自动依次执行,可调试复杂的程序(调试时只显示第一个错误),是实际应用中主要的执行方式Matlab及其应用

6、112.3 帮助的使用 MATLAB中有以下几种方法获得帮助:帮助命令、帮助窗口、MATLAB帮助台、在线帮助页或用Web菜单直接链接到MathWorks公司的主页。Matlab及其应用12怎样获得详尽的帮助信息1.首先是MATLAB窗口中的help命令,它最常用、最快,往往也是最有效的。给出关键字就能找到相应的说明。Help命令简单易用,但是它要求准确给出关键字,如果记忆不准,就很难找到。这时就应该用第二种方案。2.Help Desk:这是MATLAB的HTML格式的帮助文档,有着很好的组织。可以在命令行键入helpdesk,进入“Matlab Help Desk”。Help Desk的搜索

7、可以使用不完全关键字,这样即使遇到记忆模糊的情况也可以很快查到。3.前面两种方法所得到的帮助信息常常是不够细致的,需要用第三种途径来补充,这就是电子版的使用手册。MATLAB里包含了大量关于MATLAB安装、使用、编程以及各种工具箱等的电子版手册,全部为PDF格式,具有搜索功能,因此也可以在指定的手册中搜索关键字,使用非常方便。Matlab及其应用132.4 Matlab变量o变量要求n变量名、函数名区分字母的大小写。如SIN、Sin与sin是不同的n对6.5以前的版本,变量名字符不超过31个,对6.5版本,变量名最多可包含63个字符。超出长度的字符被忽略n变量必须以字母开头,之后可以是任意字

8、母、数字或者下滑线,但不能是空格和标点nMatlab不支持汉字,汉字不能出现在变量名和文件名中Matlab及其应用14 特殊变量特殊变量取值ans用于结果的缺省变量名pi圆周率eps计算机的最小数inf无穷大 如1/0Nan或nan不定量 如0/0i ji=j=realmin最小的可用正实数realmax最大的可用正实数Matlab及其应用152.5 复数不需要特殊的处理。复数可以表示为:a=10-9i a=10-9j i=j=sqrt(-1)注意下面的例子中的表达式 a4=5+sin(.5)*i如果把sin(.5)*i中的*去掉,就会出错,sin(.5)i对MATLAB是无意义的,直接以字符

9、i和j结尾,只适用于简单数值,不适用于表达式。o复数运算不需要特殊处理,可以直接进行。另外real(z),imag(z),abs(z)和angle(z)等Matlab及其应用16三、MATLAB的数组(矩阵)及其运算3.1 数组(矩阵)的创建 1.直接输入法n整个输入数组必须以方括号“”为其首尾n数组的行与行之间必须用”;”或者【Enter】隔离n数组元素必须由逗号”,”或空格分隔2.一维数组的冒号生成法 x=a:inc:bna是数组的第一个元素,inc是间隔,b是最后一个元素na,inc,b之间的冒号须在英文状态下输入。中文中的冒号将导致matlab出错。ninc缺省值为1,可以取正数或负数

10、。Matlab及其应用17语句生成矩阵 3.linspace命令na=linspace(1,10,5);4.logspace命令nb=logspace(0,2,10)5.矩阵连接nc=a b;6.数组生成函数 zeros ones eye rand randn Matlab及其应用183.2 矩阵运算o矩阵的转置n用符号来表示和实现n非共轭转置 .o矩阵的四则运算n+-*/n点乘:.*右除:./左除:.o矩阵的乘方n矩阵乘方n.元素对元素的乘方多项式及其运算oMATLAB约定n次多项式用一个长度为n+1的系数行向量来表示,按降幂来排列,缺少的幂次系数为0,及多项式 在MATLAB可以表示为例如

11、:已知 可以表示为2,-1,0,3Matlab及其应用19Matlab及其应用20在命令窗口中输入:p=2,-1,0,3;x=2;polyval(p,x)Ans=15 x=-1,2;-2,1;polyval(p,x)Ans=0 15 -17 4Matlab及其应用21oroots(x)oAns=o 0.7500+0.9682io 0.7500-0.9682io -1.0000符号变量oMATLAB具有数值和符号双重计算能力o创建符号变量和表达式的基本指令:sym、syms.一般调用公式 a=sym(x),x可以是字符、字符串、表达式或字符表达式。oy=sym(4*sin(x)*cos(x)o

12、y=o 4*sin(x)*cos(x)o y=simple(y)y=2*sin(2*x)Matlab及其应用22Matlab及其应用23四、流程控制o为了便于应用,MATLAB提供了一些流程控制的命令。这些命令对脚本编写带来了一些方便,但是需要注意的是,尽量不要使用这些流程控制命令,尤其是循环控制命令。1 for循环ofor循环允许一组命令以固定的次数重复,它的一般形式是nfor x=arrayn commandnendofor 和end之间的命令串按数组array的每一列执行一次,直到n次后终止。Matlab及其应用241 For循环应当注意的一些方面1.for循环不能使用内部重新赋值循环变

13、量而终止;2.for循环内部接受任何有效的MATLAB数组;3.for循环可以嵌套;4.只要有矩阵形式可以解决的问题,不要使用for循环。使用for循环的算法执行很慢,一个好的MATLAB算法部应当出现循环语句。5.循环可以使用break跳出,但只跳出所在的循环,不跳出整个嵌套结构。Matlab及其应用252 while循环o与for循环以固定的次数求一组指令相反,while循环以不定的次数求一组语句的值。While循环的一般形式为:nwhile expressionn commondsnendo只要表达式expression里的所有元素为真,就执行命令串commands。通常表达式求值给一个

14、标量值,单数组值也同样有效。Matlab及其应用263 if-else-end结构o很多情况下,命令的序列必须根据关系的检验有条件的执行,它由if-else-end结构提供。它的结构如下:nif expression1n commands1nelse if expression2n commands2nelse if n nelse ifn commandsnendMatlab及其应用27五、数据的可视化o二维图形 在二维曲线的绘制命令中,最重要、最基本的命令时plot,其他许多特殊绘图命令都以它为基础形成。1 plot(x,s)x为实向量时,以该向量元素的下标为横坐标、元素值为纵坐标画出一条

15、连续曲线。X为实矩阵时,则按列绘制每列元素值相对其下标的曲线,图中曲线数等于X阵列数。s用来指定线型。Matlab及其应用282 plot(x,y,s)x,y为同维向量时,绘制以x、y元素为横、纵坐标的曲线。3 plot(x1,y1,s1,x2,y2,s2,)在此格式中,每个绘线“三元组”(x,y,s)的结构和作用,与plot(x,y,s)相同,不同的三元组之间没有约束。Matlab及其应用29线型和标记 Plot命令中,在每一对数组数据后面,给plot一个附加参量,就可以指定所要的颜色和线型。plot(x,y,rd,x,z,k-,x,y,b-.,x,z,co)b蓝色,c青色,g绿色,k黑色,

16、m紫红色,r红色,w白色,y黄色 加格线和标注,grid on命令在当前图形的单位标记处加格线。grid off命令取消格线。用text命令可以在图形的任意指定位置增加标记和其他文本信息,格式是text(x,y,string).Matlab及其应用30 plot(x,y,x,z)grid title(sin(x)and cos(x)xlabel(independent variable x)ylabel(dependent variable y and z)text(2,0.8,sin(x)text(2,-0.4,cox(x)Matlab及其应用31Matlab及其应用32plot应用举例画一

17、个圆o程序如下:oR=2;ot=0:pi/20:2*pi;ox=R*sin(t);y=R*cos(t)oplot(x,y,b:),gridMATLAB图形绘制的基本步骤o1)准备需要绘制数据或函数。o2)选择图形输出的窗口及位置。o3)调用基本的绘图函数。o4)设置坐标轴范围、标记号、和网格线。o5)用名称、图例、坐标名、文本等对图形就行注释。Matlab及其应用33Matlab及其应用34例1无阻力抛射体的运动o设目标相对于射点的高度为 ,给定初速,试计算物体在真空中飞行的时间和距离。建模 无阻力抛射体的飞行是中学物理就解决了的问题,本题的不同点是目标和射点不在同一高度上,用MATLAB可使

18、整个计算和绘图过程自动化。其好处是快速地计算物体在不同初速和射角下的飞行时间和距离。关键是在求落点时间 时,需要解一个二次线性代速方程。Matlab及其应用35MATLAB程序oclear;y0=0;x0=0;%初始位置ovMag=input(输入初始速度(m/s):);%输入初始速度的大小和方向ovDir=input(输入初速方向(度):);oyf=input(输入目标高度(m):);%输入目标高度ovx0=vMag*cos(vDir*(pi/180);%计算x,y方向的初始速度ovy0=vMag*sin(vDir*(pi/180);owy=-9.81;wx=0;%重力加速度(m/s2)ot

19、f=roots(wy/2,vy0,y0-yf);%解方程,计算落点时间otf=max(tf);%去掉庸解ot=0:0.1:tf;oy=y0+vy0*t+wy*t.2/2;%计算轨迹ox=x0+vx0*t+wx*t.2/2;oxf=max(x),plot(x,y);%计算射程ogridMatlab及其应用36初始速度50m/s,初速方向为40度,目标高度为8m时的输入结果Matlab及其应用37例2有空气阻力抛射体的运动o步骤一:给定小球质量m,重力加速度g,拖曳系数C和小球面积A(半径为r),根据D=rou*C*A/2求出Do步骤二:给定小球的初始速度v(1)(大小和方向角theta),小球的

20、位置(x(1)和y(1)。设定时间间隔detato步骤三:选定最大的间隔数N(或者最大的时间 )Matlab及其应用38求解步骤o步骤四:当nN或者t0.001);%去掉在1邻近的庸解oendovr=(1-ur)./K;%用(5)式求vr,用元素群运算oK;ur;vr%显示输出数据osemilogx(K,ur,b,K,vr,g),grid,gtext(ur),gtext(vr)%绘图o Matlab及其应用51输出结果Matlab及其应用52结果的物理分析o从上图中可以看出o当K1时,为负,即当静止球质量大于主动球质量时,主动球将反弹。o当K=1时,=0,即主动球将全部动能传给静止球。o当K1时,为正,说明主动球将继续沿原来方向运动。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服