[理学]matlab物理案例分析

上传人:jiups****uk12 文档编号:45682398 上传时间:2018-06-18 格式:PPT 页数:46 大小:380.45KB
返回 下载 相关 举报
[理学]matlab物理案例分析_第1页
第1页 / 共46页
[理学]matlab物理案例分析_第2页
第2页 / 共46页
[理学]matlab物理案例分析_第3页
第3页 / 共46页
[理学]matlab物理案例分析_第4页
第4页 / 共46页
[理学]matlab物理案例分析_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《[理学]matlab物理案例分析》由会员分享,可在线阅读,更多相关《[理学]matlab物理案例分析(46页珍藏版)》请在金锄头文库上搜索。

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

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

3、atlab3.5+simulink o Matlab 4.0:simlink内嵌 o Matlab 5.0 :全面的面向对象 o Matlab 5.15.3 o Matlab 6.0 o Matlab 6.5:购并了MATRIXx o Matlab 7.0:2004Matlab及其应用61.3 Matlab的特点o 1 高效方便的矩阵和数组运算 o 2编程效率高(库函数非常丰富) o 3结构化、面向对象 o 4方便的绘图工具 o 5用户使用方便 o 6功能强大的工具箱(核心部分中有数百个核心内部函 数) 总之,Matlab在信号处理、建模、系统识别、控制、优 化等领域的问题处理上优势明显于其它

4、高级语言。Matlab及其应用71.4 解决物理问题常用的软件o Mathmatica 数学计算功能。复杂符号计 算,主要在理论界 o MAGIC 电磁粒子仿真软件 o 仿真软件:HFSS、CST等等Matlab及其应用8二、MATLAB基础使用2.1 MATLAB操作界面简介 o 操作桌面的缺省外貌 n 与先前版本相比,6.x版引入大量的交互工作界 面,如通用操作界面、帮助界面、演示界面等 n 指令窗、历史指令窗、工作空间浏览器和只有 窗名的当前目录窗 n “开始”按钮(matlab6.5版本新加) o 通用操作界面Matlab及其应用9通用交互界面介绍o 内存数组编辑器(Array Edi

5、tor)在工作空间浏览器中对变量操作时才启动 o 交互界面分类目录窗(Lauch Pad)。可展开成树状结构,列着所有交互界面。 o M文件编辑/调试器(Editor/Debugger)当进行“打开文件”操作时才启动。 o 帮助导航/浏览器(Help avigator/Browser)详尽展示由超文本写成的在线帮助。Matlab及其应用102.2 Matlab命令的两种执行方式一.交互式的命令执行方式 n 用户在命令窗口逐条输入命令,matlab逐条执 行,这种方式操作简单直观,但速度慢,中间 过程无法保留。通用操作界面 二.M命令文件的程序设计方式 n 将有关命令编成程序存储在一个文件(扩展

6、名为 .m)中,matlab自动依次执行,可调试复杂的 程序(调试时只显示第一个错误),是实际应用 中主要的执行方式Matlab及其应用112.3 帮助的使用 MATLAB中有以下几种方法获得帮助:帮助命令、帮 助窗口、MATLAB帮助台、在线帮助页或用Web菜单 直接链接到MathWorks公司的主页。Matlab及其应用12怎样获得详尽的帮助信息1. 首先是MATLAB窗口中的help命令,它最常用、最快,往往也是 最有效的。给出关键字就能找到相应的说明。Help命令简单易用, 但是它要求准确给出关键字,如果记忆不准,就很难找到。这时就 应该用第二种方案。 2. Help Desk:这是M

7、ATLAB的HTML格式的帮助文档,有着很好的 组织。可以在命令行键入helpdesk,进入“Matlab Help Desk”。 Help Desk的搜索可以使用不完全关键字,这样即使遇到记忆模糊 的情况也可以很快查到。 3. 前面两种方法所得到的帮助信息常常是不够细致的,需要用第三种 途径来补充,这就是电子版的使用手册。MATLAB里包含了大量关 于MATLAB安装、使用、编程以及各种工具箱等的电子版手册,全 部为PDF格式,具有搜索功能,因此也可以在指定的手册中搜索关键 字,使用非常方便。Matlab及其应用132.4 Matlab变量o 变量要求 n 变量名、函数名区分字母的大小写。如

8、SIN、Sin与 sin是不同的 n 对6.5以前的版本,变量名字符不超过31个,对6.5 版本,变量名最多可包含63个字符。超出长度的字 符被忽略 n 变量必须以字母开头,之后可以是任意字母、数字 或者下滑线,但不能是空格和标点 n Matlab不支持汉字,汉字不能出现在变量名和文件 名中Matlab及其应用14特殊变量特殊变量取值ans用于结果的缺省变量名pi圆周率 eps计算机的最小数inf无穷大 如1/0Nan或nan不定量 如0/0i ji=j= realmin最小的可用正实数realmax最大的可用正实数Matlab及其应用152.5 复数不需要特殊的处理。复数可以表示为:a=10

9、-9ia=10-9j % i=j=sqrt(-1) 注意下面的例子中的表达式a4=5+sin(.5)*i 如果把sin(.5)*i中的*去掉,就会出错,sin(.5)i对 MATLAB是无意义的,直接以字符i和j结尾,只适用 于简单数值,不适用于表达式。 o 复数运算不需要特殊处理,可以直接进行。另外 real(z),imag(z), abs(z)和angle(z)等Matlab及其应用16三、MATLAB的数组(矩阵)及其运算3.1 数组(矩阵)的创建1.直接输入法 n整个输入数组必须以方括号“”为其首尾 n数组的行与行之间必须用”;”或者【Enter】隔离 n数组元素必须由逗号”,”或空格

10、分隔 2.一维数组的冒号生成法 x=a:inc:b na是数组的第一个元素,inc是间隔,b是最后一个元素 na,inc,b之间的冒号须在英文状态下输入。中文中的冒 号将导致matlab出错。 ninc缺省值为1,可以取正数或负数。Matlab及其应用17语句生成矩阵3.linspace命令 n a=linspace(1,10,5);%产生线性等间距的列向量4.logspace命令 n b=logspace(0,2,10);%产生对数等间距的列向量5.矩阵连接 n c=a b;6. 数组生成函数 zeros ones eye rand randn Matlab及其应用183.2 矩阵运算o 矩

11、阵的转置 n 用符号来表示和实现 n 非共轭转置 . o 矩阵的四则运算 n +-*/ n 点乘:.* 右除:./ 左除:. o 矩阵的乘方 n 矩阵乘方 n .元素对元素的乘方Matlab及其应用19四、流程控制o 为了便于应用,MATLAB提供了一些流程控制的命 令。这些命令对脚本编写带来了一些方便,但是需 要注意的是,尽量不要使用这些流程控制命令,尤 其是循环控制命令。 1 for循环 o for循环允许一组命令以固定的次数重复,它的一 般形式是 nfor x=array n command nend o for 和end之间的命令串按数组array的每一列执行 一次,直到n次后终止。M

12、atlab及其应用201 For循环应当注意的一些方面1. for循环不能使用内部重新赋值循环变量而终止 ; 2. for循环内部接受任何有效的MATLAB数组; 3. for循环可以嵌套; 4. 只要有矩阵形式可以解决的问题,不要使用for 循环。使用for循环的算法执行很慢,一个好的 MATLAB算法部应当出现循环语句。 5. 循环可以使用break跳出,但只跳出所在的循环 ,不跳出整个嵌套结构。Matlab及其应用212 while循环o 与for循环以固定的次数求一组指令相反,while循 环以不定的次数求一组语句的值。While循环的一 般形式为: nwhile expression

13、 n commonds nend o 只要表达式expression里的所有元素为真,就执 行命令串commands。通常表达式求值给一个标 量值,单数组值也同样有效。Matlab及其应用223 if-else-end结构o 很多情况下,命令的序列必须根据关系的检验有条 件的执行,它由if-else-end结构提供。它的结构 如下: nif expression1 n commands1 nelse if expression2 n commands2 nelse if n nelse if n commands nendMatlab及其应用23五、数据的可视化o 二维图形在二维曲线的绘制命令

14、中,最重要、最基本的命令 时plot,其他许多特殊绘图命令都以它为基础形成。1 plot(x,s)x为实向量时,以该向量元素的下标为横坐标、元素值 为纵坐标画出一条连续曲线。X为实矩阵时,则按列绘 制每列元素值相对其下标的曲线,图中曲线数等于X阵 列数。s用来指定线型。(正方形)Matlab及其应用242 plot(x,y,s) x,y为同维向量时,绘制以x、y元素为横、 纵坐标的曲线。 3 plot(x1,y1,s1,x2,y2,s2,) 在此格式中,每个绘线“三元组”(x,y,s) 的结构和作用,与plot(x,y,s) 相同,不同 的三元组之间没有约束。Matlab及其应用25线型和标记

15、Plot命令中,在每一对数组数据后面,给plot一个 附加参量,就可以指定所要的颜色和线型。plot(x,y,rd,x,z,k-,x,y,b-.,x,z,co)b蓝色,c青色,g绿色,k黑色,m紫红色,r红色,w白 色,y黄色加格线和标注,grid on命令在当前图形的单位标 记处加格线。grid off命令取消格线。用text命令可以在图形的任意指定位置增加标记和 其他文本信息,格式是text(x,y,string).Matlab及其应用26 plot(x,y,x,z) grid title(sin(x) and cos(x) xlabel(independent variable x) y

16、label(dependent variable y and z) text(2,0.8.sin(x)Matlab及其应用27plot应用举例画一个圆o 程序如下: o R=2; o t=0:pi/20:2*pi; o x=R*sin(t);y=R*cos(t) o plot(x,y,b:),gridMatlab及其应用28例1无阻力抛射体的运动o 设目标相对于射点的高度为 ,给定初速, 试计算物体在真空中飞行的时间和距离。 建模 无阻力抛射体的飞行是中学物理就解决了的 问题,本题的不同点是目标和射点不在同一 高度上,用MATLAB可使整个计算和绘图过 程自动化。其好处是快速地计算物体在不同 初速和射角下的飞行时间

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号