版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 应用Application of Matlab Languagen 课程的作用n 课程的目的n 课程的特点n 课程安排2课程的作用 在欧美各高等学校,Matlab成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具,成为本科生、硕士生和博士生的必须掌握的基本技能。 在设计研究单位和工业部门,Matlab已被广泛地用于研究和解决各种具体的工程问题。 可以预见,Matlab将在我国科学研究和工程应用中发挥越来越大的作用。3本课程的目的讲授MATLAB语言基础入门知识,介绍MATLAB产品的体系、MATLAB 桌面工具的使用方法,重点介
2、绍MATLAB的数据可视化、数值计算的基本步骤以及如何使用MATLAB语言编写整洁、高效、规范的程序。通过本课程的学习,了解、熟悉、掌握 MATLAB的基本编程方法,并具有初步的利用计算机处理、解决实际问题的能力,为毕业设计做好准备。本课程的特点交叉性课程,是计算机技术、数学理论知识以及诸多工程理论知识的综合。实践性课程。内容多,课时少,要求同学上课认真听讲,要充分利用上机实践消化、理解、掌握课上讲解内容。4课程安排课堂教学:共20学时;(1-14周) 上机试验:共10学时。(具体时间待定 )成绩构成:p1)上机实验成绩占20%;2)考勤 10% ;3) 考试70% (集中考试)。主要参考书精
3、通MATLAB 6.5张志涌 等编著,北航出版,2003年Matlab程序设计与应用 刘卫国主编,高等教育5第一讲 Matlab概述及入门基础n Matlab软件概述n Matlab的桌面环境及入门知识61Matlab概述内容n Matlab的历史与发展n Matlab产品体系n Matlab 语言的特点目的n 全面了解 Matlab软件包n 激发对Matlab软件的学习兴趣7Matlab的历史与发展MATLAB的历史及影响70年代中期,Cleve Moler博士及其同事在美国国家的帮助下,开发了LINPACK和EISPACK的FORTRAN语言子程序库,这两个程序库代表了当时矩阵运算的最高水
4、平。到了70年代后期,身为美国新墨西哥州大学计算机系系主任的CIeve Moler,在给学生上线性代数课时,为了让学生能使用这两个子程序库,同时又不用在编程上花费过多的时间,开始着手用FORTRAN语言为学生编写使用LINPACK和EISPACK的接口程序,他将这个程序取名为MATLAB,其名称是由MATrix和 LABoratory(矩阵实验室)两个单词的前三个字母所合成。在1978年,Malab就面世了。这个程序获得了很大的成功, 受到了学生的广泛欢迎。在以后的几年里,Matlab在多所大学里作为教学辅助软件使用,并作为面向大众的免费软Cleve Moler 件广为流传。8将MATLAB商
5、品化的不是Cleve Moler,而是一个名叫Jack Little的人。当免费的MATLAB软件到Stanford大学,Jack Little正在该校主修控制,便接触到了当时MATLAB, 直觉告诉他,这是一个具有巨大发展潜力的软件。因此他在毕业沒多久,就开始用C语言重新编写了MATLAB的核心。在Moler的协助下,于1984年成立MathWorks公司,首次推出MATLAB商用版。在其商用版推出的初期, MATLAB就以其优秀的品质(高效的数据计算能力和开放 的体系结构)占据了大部分数学计算软件的市场,原来应 用于控制领域里的一些封闭式数学计算软件包(如英国的UMIST、瑞典的LUND和
6、SIMNON、德国的KEDDC)就纷纷被淘汰或在MATLAB上重建。Jack Little9Matlab的历史与发展Matlab版本的发展 1992年,支持Windows 3.x的MATLAB 4.0版本推出,增加了Simulink,Control, Neural Network,Signal Processing等专用工具箱。 1993年11月,MathWorks公司推出了Matlab 4.1,其中主要增加了符号运算功能。当升级至Matlab 4.2c,这能在用户中得到广泛应用。 1997年,Matlab 5.0版本问世了,实现了真正的32位运算,加快数值计算,图形表现有效。 2001年初,
7、MathWorks公司推出了Matlab 6.0(R12)。 2002年7月,推出了Matlab 6.5(R13),在这一版本中Simulink升级到了5.0,性能有了很大提高,另一大特点是推出了JIT程序加速器,Matlab的计算速度有了明显的提高。 2005年9月,推出了MAILAB 7.1(Release14 SP3),在这一版本中Simulink升级到了6.3,软件性能有了新的提高,用户界面更加友好。值得说明的是,Matlab V7.1版采用了更先进的数学程序库,即“LAPACK”和“BLAS”。10Matlab的历史与发展Matlab版本的发展到7.1版为止,MATLB的释放编号均以
8、数字来命名。版本释放编号年份1984年1986年1987年1990年1992年1994年1996年1997年版本释放编号年份1999年MATLAB 1.0MATLAB 2MATLAB 3MATLAB 3.5MATLAB 4MATLAB 4.2cMATLAB 5.0MATLAB 5.1MATLAB 5.1.1MATLAB 5.2MATLAB 5.2.1MATLAB 5.3MATLAB 5.3.1MATLAB 6.0MATLAB 6.1MATLAB 6.5MATLAB 6.5.1MATLAB 6.5.2MATLAB 7MATLAB 7.0.1MATLAB 7.0.4MATLAB 7.1R11 R1
9、1.1 R12 R12.1 R13 R13SP1 R13SP2 R14 R14SP1 R14SP2R14SP32000年2001年2002年2003年R7 R8 R9 R9.1 R10R10.12004年1998年2005年11Matlab的历史与发展Matlab版本的发展从7.2版开始,释放编号以年份来命名,每年3月份推出的用a表示,9月份推出的则以b表示,例如R2006a代表2006年3月推出的版本,R2009b指2009年下半年推出的版本。版本释放编号年份2010年版本MATLAB 7.2MATLAB 7.3MATLAB 7.4MATLAB 7.5MATLAB 7.6MATLAB 7.7
10、MATLAB 7.8MATLAB 7.9释放编号R2006a R2006b R2007a R2007b R2008a R2008b R2009aR2009b年份2006年MATLAB 7.10MATLAB 7.11MATLAB 7.12MATLAB 7.13MATLAB 7.14MATLAB 8.0MATLAB 8.1MATLAB 8.2MATLAB 8.3R2010a R2010b R2011a R2011b R2012a R2012b R2013a R2013bR2014a2011年2007年2012年2008年2013年2009年2014年12MATLAB就是这样经过了近30年的专门打造
11、、20多年的千锤百炼,它以高性能的数组运算(包括矩阵运算)为基础,不仅实现了大多数数学 算法的高效运行函数和数据可视化,而且提供了非常高效的计算机高级编 程语言,在用户可参与的情况下,各种专业领域的工具箱不断开发和完善, MATLAB取得了巨大的成功,已广泛应用于科学研究、工程应用,用于数值计算分析、系统建模与仿真。早在20世纪90年代初,欧美等发达国家的大学就将MATLAB列为一种必须掌握的编程语言。近几年来,国内的很多大学也将MATLAB列为了本 科生必修课程。与Maple、Mathematica数学计算软件相比,MATLAB以数值计算见长,而Maple等以符号运算见长,能给出解析解和任意
12、精度解,而处理大量数据的能力远不如MATLAB。MATLAB软件功能之强大、应用之广泛,已成为为21世纪最为重要的科学计算语言。可见学习掌握这一工具的重要性。13Matlab的产品体系安装MATLAB后,在安装目录下将包含如下文件夹。14Matlab的产品体系安装MATLAB后,在安装目录下将包含如下文件夹。续表15MATLAB编程语言的特点 语法规则简单。尤其内定的编程规则,与其他编程语言(如C、Fortran等)相比更接近于常规数学表示。对于数组变量的使用,不需类型声明,无需事先申请内存空间。 MATLAB基本的语言环境提供了数以千计的计算函数,极大的提高了用户的编程效率。如,一个fft函
13、数即可完成对指定数据的快速傅里叶变换,这一任务如果用C语言来编程实现的话,至少要用几十条C语言才能完成。 MATLAB是一种脚本式(scripted)的解释型语言,无论是命令、函数或变量,只要在命令窗口的提示符下键入,并“回车(Enter)”,MATLAB都予以解释执行。 平台无关性(可移植性)。MATLAB软件可以运行在很多不同的计算机系统平台上,如Windows Me/NT/2000/XP、很多不同版本的UNIX以及Linux。无论你在哪一个平台上编写的程序都可以运行在其它平台上,对于MATLAB数据文件也一样,是平台无关的。极大保护了用户的劳动、方便了用户。其绘图功能 也是平台无关的。无
14、论任何系统平台,只要MATLAB能够运行,其图形功能命令就能正常运行。 因此,MATLAB是一个简单易用、功能强大的高效编程语言。16功能强大n 数值运算n 符号运算n 强大的2D、3D数据可视化功能n 许多具有算法自适应能力的功能函数17语言简单、内涵丰富语言及其书写形式非常接近于常规数学书写形式;其操作和功能函数指令就是常用的计算机和数学书上的一些简单英文单词表达的,如:help、clear等;完备的帮助系统,易学易用。扩充能力、可开发能力较强MATLAB完全成了一个开放的系统用户可以开发自己的工具箱可以方便地与Fortran、C等语言接口编程易、效率高Matlab以数组为基本计算单元具有
15、大量的算法优化的功能函数182MATLAB的桌面环境及入门知识启动与退出MATLAB命令窗口及使用工作空间命令历史窗口当前目录窗口和搜索路径获取在线帮助192.1 启动与退出MATLAB启动MATLABn 直接用鼠标双击桌面上MATLAB7.1图标n 或Windows桌面的“开始”“所有程序”“MATLAB7.1” “MATLAB7.1”。退出MATLABn 关闭MATLAB桌面n 在命令窗口执行quit或exit命令n 在菜单“文件”的下拉菜单点“exitMATLAB缺省桌面(见下页)Matlab”202.1 启动与退出MATLAB (续)21命令提示符Start 菜单历史命令窗口工作空间命
16、令窗口文件编辑窗口工具栏菜单栏2.2 命令窗口的使用激活命令窗口。“” 与闪烁的光标一起表明系统就绪,等待输入。命令窗口脱离MATLAB桌面。简单计算12 + 2 (7 - 4) 32【例1-1】计算(1)在MATLAB命令窗口输入以下内容:(12+2*(7-4)/32(2) 按【Enter】键,指令执行。(3) 返回的计算结果:ans=2222.2 命令窗口(续)说明在命令窗口【Enter】键提交命令执行。Matlab所用运算符(如+、-、等)是各种计算程序中常见的。计算结果中的“ans”是英文“answer”的一种缩写, 其含义就是“运算答案”。ans是Matlab的一个预定义 变量。23
17、2.2 命令窗口(续)简单计算(续)【例1-2】计算 sin(45 )sin(45*pi/180)ans=0.7071(+ 1) 的值,其中x=4.92。【例1-3】计算2ex+0.5,。sqrt(2*exp(4.92+0.5)+1)ans=21.278124 Matlab中开平方sqrt(x)是英文square root的缩写 Matlab中指数函数exp(x), 常见的表达方式。 Matlab中正弦函数sin就是常见的正弦函数。 它的参数值是以“弧度”为单位的。 pi也是Matlab的预定义变量。 pi=3.14159 Matlab对字母大小写是敏感的。2.2 命令窗口 (续)7“clc”
18、清除窗口显示内容的命令。2sin(0.3p )【例1-4】计算的值。y =1+5y=2*sin(0.3*pi)/(1+sqrt(5)y=0.50002cos(0.3p )【例1-5】计算的值。y =1+5y=2*cos(0.3*pi)/(1+sqrt(5)y=0.363325% 命令行编辑 “”键调回已输入过命令。 修改。2.2 命令窗口 (续)【例1-5】计算半径为5.2m的圆的周长和面积。radius=5.2;%圆的半径area=pi*5.22, circle_len=2*pi*5.2area =84.9487circle_len =32.672626 以上两例,命令行中用到了等号“=”。
19、 计算结果不再赋给“ans”,而是赋给 用户指定的变量y、area、circle_len。 无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。 Who、whos命令用来显示工作空间的变量 clear命令用来清除工作空间的变量。2.2 命令窗口(续)whoYour variables are:ans areawhosName ans areacircle_lenradiusySize 1x1 1x11x1 1x11x1Bytes 88888Classdouble array double array double arraydouble arr
20、aycircle_len radiusydouble arrayGrand total is 5 elements using 40 bytes27 Who、whos命令用来显示工作空间的变量区别:whos命令给出变量名的同时还会给出他们的维数和性质。 clear命令用来清除工作空间的变量。2.2 命令窗口 (续)clear ywhoYour variables are:ansareacircle_lenradiusclear ans areawhosYour variables are:Name circle_lenradiusSize1x1 1x1Bytes88Class double a
21、rraydouble arrayGrand total is 2 elements using 16 bytes282.2 命令窗口 (续)数值显示格式设置缺省显示格式:简洁的短(short g)格式窗口命令及语法格式:format 显示格式关键字如:format long%15位数字显示常见通用命令命令clc clearwho或whos dircdhelp或doc quit或exit edit含义清除命令窗口的显示内容清除Matlab工作空间中保存的变量显示Matlab工作空间中的变量信息显示当前工作目录的文件和子目录显示或设置当前工作目录获取在线帮助关闭/退出MATALB 打开M文件编辑器
22、292.3工作空间查看工作空间内存变量,可以由who、whos 。命名新变量。修改变量名删 除 变 量 绘图保存变量数据装入数据302.4 历史窗口历史窗口:首先记录每次启动时间并记录在命令窗口输入的命令,此次运行期间, 输入的所有命令被记录为一组,并以此次启动时间为标志。使用历史窗口:可以查看命令窗口输入过的命令或语句可以选择一条或多条命令执行拷贝、执行、创建M文件等。要清除历史记录,可以选择Edit菜单中的Clear Command History 命令312.5 当前目录窗口和搜索路径当前目录窗口:指Matlab运行时的工作目录。只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。
23、如果没有特殊指明,数据文件也将存放在当前目录下; 用户可以将自己的工作目录设置成当前目录,从而使 得所有操作都在当前目录中进行。在桌面快捷方式中-右键-属性-修改起始位置为目标目录32搜索路径:指Matlab执行过程中对变量、函数和文件进行搜索的路径。在File菜单中选择Set Path命令或在命令窗口输入pathtool命令,出现搜索路径设置对话框:!修改完搜索路径后, 需要进行保存。332.6获取在线帮助MATLAB提供的帮助信息有两类n 简单纯文本帮助信息helplookfor(条件比较宽松)例:inversen 窗口式综合帮助信息(文字、公式、图形)dochelpwin34【功能演示-
24、1】2 x5 - 3 x3 + 71x2 - 9 x + 13 = 0 的全部根。求方程p = 2,0,-3,71,-9,13;建立多项式系数向量x = roots(p);求根x =-3.49141.6863 + 2.6947i1.6863 - 2.6947i0.0594 + 0.4251i0.0594 - 0.4251i35【功能演示-2】求解线性方程组2 x + 3 y - z = 28 x + 2 y + 3z = 445 x + 3 y + 9z = 23a = 2,3,-1;8,2,3;45,3,9;建立系数矩阵ab = 2;4;23;建立列向量bx = inv(a)*bx =0.5
25、5310.2051-0.278436符号计算syms x y z建立符号变量x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)x = 151/273y = 8/39z =-76/27337【功能演示-3】求解定积分1求解 I=x ln(1 + x)dx0quad(x.*log(1+x),0,1)ans = 0.250或syms x int(x*log(1+x),0,1) ans =1/438【功能演示-4】多项式曲线拟合考虑如下x-y 一组实验数据:x=1, 2, 3, 4, 5, 6, 7, 8, 9, 10;y=1.2, 3, 4,
26、 4, 5, 4.7, 5, 5.2, 6, 7.2;注:y(x) = x3 - 2x2 - 5一次多项式拟合:y = 1- 20- 5In MATLABp1 = polyfit(x,y,1);三次多项式拟合:p3 = polyfit(x,y,3);plot 原始数据、一次拟合曲线和三次拟合曲线x2=1:0.1:10;y1=polyval(p1,x2); y3=polyval(p3,x2);plot( x, y, *, x2, y1, :, x2, y3)39拟合曲线图由图可见,三次拟合结果较好。403 数值表示、变量及表达式3.1 数值的记述Matlab的数只采用习惯的十进制表示,可以带小数点和负号;其缺省的数据类型为双精度浮点型(double)。例如:3-100.0011.3e101.256e-63.2 变量命名规则 变量名、函数名对字母的大小写是敏感的。如MyVar与myvar表示两个不同的变量。 变量名的第一个字符必须是英文字母。 变量名可以包含英文字母、下划线和数字。 变量名不能包含空格、标点和运算符。 变量名最多可包含63个字符(6.5及以后的版本)。413 数值表示、变量及表达式(续)3.3Matlab预定义的变量说明每当MATLAB启动完成,这些变量就被产生。MATLAB中,被0除不会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度甲乙双方合作开展教育培训机构的合同2篇
- 2024年度员工培训与人才交流协议3篇
- 绿化服务协议
- 风电场建设施工劳务分包合同
- 熟食卤味摊转让协议
- 教师与家长沟通技巧培训
- 2024版电力设施高空作业安全许可协议书2篇
- 蝉古诗课件教学课件
- 《swot分析模板》课件
- 《RAID技术资料》课件
- 口腔诊所患者投诉制度范本
- 《管道支架安装》
- 3.4《测量降水量 》教学设计
- 医学伦理学试题+参考答案
- 市政道路工程安全策划书(含图表)
- 2023年江西省普通高考《通用技术》真题试卷(后附答案)
- 教师资格面试-75篇结构化逐字稿
- 与世界深度互动=部编版道德与法治九年级下册
- 痛风性关节炎(课件)
- 小学英语-What are you going to do this summer holiday教学设计学情分析教材分析课后反思
- 《去奶奶家》( 教学设计)- 三年级上册数学北师大版
评论
0/150
提交评论