1、MATLAB 语言及初级编程 Application of Matlab Language5/27/20241.n课课程的作用程的作用n课课程的目的程的目的n课课程的特点程的特点n课课程安排程安排 5/9/20202.课课程的作用程的作用 在欧美各在欧美各高等学校高等学校,MatlabMatlab成成为线为线性代数、自性代数、自动动控制理控制理论论、数字信号数字信号处处理、理、时间时间序列分析、序列分析、动态动态系系统统仿真、仿真、图图像像处处理等理等诸诸多多课课程的基本教学工具,成程的基本教学工具,成为为本科生、本科生、硕硕士生和博士生的士生和博士生的必必须须掌握的基本技能。掌握的基本技能。
2、在在设计设计研究研究单单位和工位和工业业部部门门,MatlabMatlab已被广泛地用于研究已被广泛地用于研究和和解决各种具体的工程解决各种具体的工程问题问题。可以可以预见预见,MatlabMatlab将在我国科学研究和工程将在我国科学研究和工程应应用中用中发挥发挥越越来越大的作用。来越大的作用。5/9/20203.讲讲授授MATLABMATLAB语语言基言基础础入入门门知知识识,介,介绍绍MATLABMATLAB产产品的体系、品的体系、MATLABMATLAB桌面工具桌面工具的使用方法,的使用方法,重点介重点介绍绍MATLABMATLAB的数据可的数据可视视化、数化、数值计值计算的基本步算的
3、基本步骤骤以及以及如何使如何使用用MATLABMATLAB语语言言编编写整写整洁洁、高效、高效、规规范的程序。范的程序。并涉及到一些具体的并涉及到一些具体的专业应专业应用工用工具箱具箱(如:信号(如:信号处处理工具箱、理工具箱、图图像像处处理工具箱等)。理工具箱等)。通通过过本本课课程的学程的学习习,了解、熟悉、掌握了解、熟悉、掌握 MATLAB MATLAB的基本的基本编编程方法程方法,并具有初并具有初步的利用步的利用计计算机算机处处理、解决理、解决实际问题实际问题的能力的能力,为进为进一步学一步学习习后后续续的的专业课专业课程做程做好准好准备备。本本课课程的目的程的目的(Objective
4、s of This Course Objectives of This Course )本本课课程的特点程的特点(Features of This Course Features of This Course )交叉性交叉性课课程,是程,是计计算机技算机技术术、数学理数学理论论知知识识以及以及诸诸多多工程理工程理论论知知识识的的综综合。合。实实践性践性课课程。程。内容多,内容多,课时课时少,要求同学上少,要求同学上课认课认真听真听讲讲,要充分利用上机,要充分利用上机实实践消化、理解、践消化、理解、掌握掌握课课上上讲讲解内容。解内容。5/9/20204.课课程安排程安排n课课堂教学:共堂教学:共
5、2424学学时时;(1-121-12周)周)n上机上机试验试验:共:共2424学学时时。(2-132-13周,周二周,周二7-87-8节节,九,九实实401401、402402、403403)p学学习习成成绩绩:1)上机上机实验实验成成绩绩占占30%;30%;2)考勤考勤 10%;10%;3)考考试试60%60%(随堂考(随堂考试试)。主要参考主要参考书书精通精通MATLAB 6.5MATLAB 6.5张张志涌志涌 等等编编著,北航出版,著,北航出版,20032003年年高等高等应应用数学用数学问题问题的的MatlabMatlab求解求解 薛定宇等著,清薛定宇等著,清华华大学出大学出版社,版社
6、,20042004年年MatlabMatlab程序程序设计设计与与应应用用 刘刘卫卫国主国主编编,高等教育出版社,高等教育出版社 5/9/20205.授授课课宗旨宗旨 讲讲授授MATLAB的通用功能。的通用功能。寓教于例,由浅入深。寓教于例,由浅入深。关于科学关于科学计计算,着重算,着重强强调调理理论论概念、算法和概念、算法和实际计实际计算三者算三者之之间间的关系。的关系。5/9/20206.第一第一讲讲 Matlab概述n前言前言nMatlabMatlab软软件概述件概述nMatlabMatlab的桌面的桌面环环境及入境及入门门知知识识 5/9/20207.1 Matlab1 Matlab概
7、述概述n内容内容nMatlabMatlab发发展展历历史史nMatlabMatlab产产品家族品家族(MatlabMatlab family of productsfamily of products)体系体系nMatlab Matlab 语语言的特点。言的特点。n目的目的n全面了解全面了解 Matlab Matlab软软件包件包n激激发对发对MatlabMatlab软软件的学件的学习兴习兴趣。趣。5/9/20208.1.1 MATLAB的的历历史及影响史及影响 7070年代中期年代中期,Cleve Cleve MolerMoler博土及其同事在美国国家基金会博土及其同事在美国国家基金会的帮助
8、下,开的帮助下,开发发了了LINPACKLINPACK和和EISPACKEISPACK的的FORTRANFORTRAN语语言言子程序子程序库库,这这两个程序两个程序库库代表了当代表了当时时矩矩阵阵运算的最高水平。运算的最高水平。到了到了7070年代后期年代后期,身,身为为美国新墨西哥州大学美国新墨西哥州大学计计算机系系主算机系系主任的任的CIeveCIeve MolerMoler,在,在给给学生上学生上线线性代数性代数课时课时,为为了了让让学生学生能使用能使用这这两个子程序两个子程序库库,同,同时时又不用在又不用在编编程上花程上花费过费过多的多的时间时间,开始着手用,开始着手用FORTRANF
9、ORTRAN语语言言为为学生学生编编写使用写使用LINPACKLINPACK和和EISPACKEISPACK的接口程序,他将的接口程序,他将这这个程序取名个程序取名为为MATLABMATLAB,其名称是由其名称是由MATrixMATrix和和 LABoratoryLABoratory(矩(矩阵实验阵实验室)室)两个两个单词单词的前三个字母所合成的前三个字母所合成。在在19781978年年,MalabMalab就面世了。就面世了。这这个程序个程序获获得了很大的成功,得了很大的成功,受到了学生的广泛受到了学生的广泛欢欢迎。在以后的几年里,迎。在以后的几年里,MatlabMatlab在多所在多所大学
10、里作大学里作为为教学教学辅辅助助软软件使用,并作件使用,并作为为面向大众的免面向大众的免费软费软件广件广为为流流传传。CleveMoler 5/9/20209.将将MATLABMATLAB商品化的不是商品化的不是Cleve MolerCleve Moler,而是一个名叫而是一个名叫Jack LittleJack Little的人。当免的人。当免费费的的MATLABMATLAB软软件到件到StanfordStanford大学,大学,Jack LittleJack Little正在正在该该校主修校主修控制控制,便接触到了当,便接触到了当时时MATLABMATLAB,直,直觉觉告告诉诉他,他,这这是
11、一个是一个具有巨大具有巨大发发展潜力的展潜力的软软件。因此他在件。因此他在毕业毕业沒多久,就开始沒多久,就开始用用C C语语言重新言重新编编写了写了MATLABMATLAB的核心。的核心。在在MolerMoler的的协协助下,于助下,于19841984年成立年成立MathWorksMathWorks公司,首次推出公司,首次推出MATLABMATLAB商用版。在其商用版推出的商用版。在其商用版推出的初期,初期,MATLABMATLAB就以其就以其优优秀的品秀的品质质(高效的数据高效的数据计计算能力和开放算能力和开放的体系的体系结结构构)占据了大部分数学)占据了大部分数学计计算算软软件的市件的市场
12、场,原来,原来应应用于控用于控制制领领域里的一些封域里的一些封闭闭式数学式数学计计算算软软件包(如英国的件包(如英国的UMISTUMIST、瑞典、瑞典的的LUNDLUND和和SIMNONSIMNON、德国的、德国的KEDDCKEDDC)就)就纷纷纷纷被淘汰或在被淘汰或在MATLABMATLAB上重建。上重建。Jack Little 5/9/202010.Cleve MolerCleve Moler至今仍是至今仍是该该公司的首席科学家公司的首席科学家,他以,他以6060多多岁岁的高的高龄龄,还还常常常常亲亲自自进进行撰写行撰写程序的工作,非常令人佩服。如果你有数程序的工作,非常令人佩服。如果你有
13、数值值运算方面的高水平运算方面的高水平问题问题,寄到,寄到 MathWorksMathWorks 后,后,大部份大部份还还是会由是会由 Cleve Cleve MolerMoler亲亲自回答。在自回答。在19941994年,年,PentiumPentium芯片曾芯片曾发发生生FdivFdiv的的bugbug,当当时时Cleve Cleve MolerMoler是第一个以是第一个以软软件方式解决此件方式解决此 bugbug的人,曾一的人,曾一时时脍炙人口脍炙人口。在公司初在公司初创创的五年,的五年,Jack LittleJack Little非常辛苦,常常身兼数非常辛苦,常常身兼数职职(董事(董
14、事长长、总经总经理、推理、推销销、程序开程序开发发等),但公司一直等),但公司一直稳稳定定发发展,从当初的一人公司,到展,从当初的一人公司,到19931993年的年的200200人,到人,到20002000年的年的 500500余人,余人,到到20052005年公司年公司员员工达到了工达到了13001300人,人,不但打不但打败败其他其他竞竞争争软软件,而且前景一片欣欣向件,而且前景一片欣欣向荣。根据荣。根据Jack LittleJack Little个人个人说说法,法,MATLABMATLAB早期成功的两大因素是:早期成功的两大因素是:选选用了用了C C语语言及言及选选定定PCPC为为主主要
15、平台,要平台,这这似乎和微似乎和微软软的成功有相互呼的成功有相互呼应应之妙。之妙。MathWorksMathWorks公司,目前仍然是私人企公司,目前仍然是私人企业业,并未上市,并未上市,这这和和Jack LittleJack Little个人理念有关,个人理念有关,他他认为认为MATLABMATLAB的的设计设计方向方向应该应该一直是以一直是以顾顾客的需求与客的需求与软软件的完整性件的完整性为为首要目首要目标标,而不是以盈,而不是以盈利利为为主要主要目的目的,因此,因此MATLABMATLAB一直是在一直是在稳稳定中求定中求进进步,而不会因步,而不会因为为上市而遭受股上市而遭受股东东左右其左
16、右其发发展展方向。方向。这这也是也是为为什么什么MATLABMATLAB新版本新版本总总是是姗姗姗姗来来迟迟的的原因,因原因,因为为他他们们不会因不会因为为市市场场的需求而推的需求而推出不成熟的出不成熟的产产品。此外,由于品。此外,由于Jack LittleJack Little保守的个性,也使得保守的个性,也使得MathWorksMathWorks不曾跨足不曾跨足MATLAB/SimulinkMATLAB/Simulink以外的行以外的行业业,当前商,当前商场场上上纷纷扰扰纷纷扰扰的并的并购购或分家,或分家,MathWorksMathWorks完全是完全是绝缘绝缘体。体。5/9/202011
17、.19921992年,支持年,支持Windows 3.xWindows 3.x的的MATLAB 4.0MATLAB 4.0版本推出,增加了版本推出,增加了SimulinkSimulink,ControlControl,Neural NetworkNeural Network,Signal ProcessingSignal Processing等等专专用工具箱。用工具箱。19931993年年1111月,月,MathWorksMathWorks公司推出了公司推出了MatlabMatlab 4.1 4.1,其中主要增加了符号运算功能。,其中主要增加了符号运算功能。当升当升级级至至MatlabMatl
18、ab 4.2c 4.2c,这这一功能在用一功能在用户户中得到广泛中得到广泛应应用。用。19971997年,年,MatlabMatlab 5.0 5.0版本版本问问世了世了,实现实现了真正的了真正的3232位运算,加快数位运算,加快数值计值计算,算,图图形表形表现现有效。有效。20012001年初,年初,MathWorksMathWorks公司推出了公司推出了MatlabMatlab 6.0 6.0(R12R12)。)。20022002年年7 7月,推出了月,推出了MatlabMatlab 6.5(R13)6.5(R13),在,在这这一版本中一版本中SimulinkSimulink升升级级到了到
19、了5.05.0,性能有,性能有了很大提高,另一大特点是推出了了很大提高,另一大特点是推出了JITJIT程序加速器,程序加速器,MatlabMatlab的的计计算速度有了明算速度有了明显显的的提高。提高。20052005年年9 9月,推出了月,推出了MAILAB 7.1(Release14 SP3)MAILAB 7.1(Release14 SP3),在,在这这一版本中一版本中SimulinkSimulink升升级级到了到了6.36.3,软软件性能有了新的提高,用件性能有了新的提高,用户户界面更加友好。界面更加友好。值值得得说说明的是,明的是,MatlabMatlab V7.1 V7.1版版采用了
20、更先采用了更先进进的数学程序的数学程序库库,即,即“LAPACK”LAPACK”和和“BLAS”BLAS”。目前,目前,MatlabMatlab软软件支持多种系件支持多种系统统平台,如常平台,如常见见的的WindowsNTWindowsNT/XP/XP、UNIXUNIX、LinuxLinux等。等。Matlab版本的版本的发发展展 5/9/202012.MATLABMATLAB就是就是这样经过这样经过了近了近3030年的年的专门专门打造、打造、2020多年的千多年的千锤锤百百炼炼,它以高性能,它以高性能的的数数组组运算(包括矩运算(包括矩阵阵运算)运算)为为基基础础,不,不仅实现仅实现了大多数
21、数学算法的了大多数数学算法的高效运行函数高效运行函数和和数据可数据可视视化化,而且提供了非常高效的,而且提供了非常高效的计计算机高算机高级编级编程程语语言言,在用,在用户户可参与的情况可参与的情况下,下,各种各种专业领专业领域的工具箱域的工具箱不断开不断开发发和完善,和完善,MATLABMATLAB取得了巨大的成功,已广泛取得了巨大的成功,已广泛应应用于用于科学研究、工程科学研究、工程应应用,用于数用,用于数值计值计算分析、系算分析、系统统建模与仿真建模与仿真。早在早在2020世世纪纪9090年代初年代初,欧美等,欧美等发发达国家的大学就将达国家的大学就将MATLABMATLAB列列为为一种必
22、一种必须须掌握的掌握的编编程程语语言。近几年来,国内的很多大学也将言。近几年来,国内的很多大学也将MATLABMATLAB列列为为了本科生必修了本科生必修课课程。程。与与MapleMaple、MathematicaMathematica数学数学计计算算软软件相比,件相比,MATLABMATLAB以数以数值计值计算算见长见长,而,而MapleMaple等以符号运算等以符号运算见长见长,能,能给给出解析解和任意精度解,而出解析解和任意精度解,而处处理大量数据的能力理大量数据的能力远远不如不如MATLABMATLAB。MATLAB MATLAB软软件功能之件功能之强强大、大、应应用之广泛,已成用之广
23、泛,已成为为为为2121世世纪纪最最为为重要的科学重要的科学计计算算语语言言。可。可见见学学习习掌握掌握这这一工具的重要性。一工具的重要性。5/9/202013.MATLABMATLAB产产品由若干模品由若干模块组块组成,不同的模成,不同的模块块完成不同的功能,其中有:完成不同的功能,其中有:实际实际上上MATLABMATLAB本身就是一个极其丰富的本身就是一个极其丰富的资资源源库库,那么,那么应该应该从哪一部分开始着手、学从哪一部分开始着手、学习习使用使用MATLABMATLAB呢?呢?这这就有必要了解就有必要了解这这一一软软件件产产品的体系品的体系结结构构 。MATLAB Compiler
24、MATLAB Compiler这这种种编译编译器可以将器可以将MATLABMATLAB程序程序文件文件编译编译生成生成标标准的准的C/C+C/C+语语言文件,而生成的言文件,而生成的标标准的准的C/C+C/C+文件可以被任何一种文件可以被任何一种C/C+C/C+编译编译器器编译编译生成函数生成函数库库或可或可执执行文件,以提高程序的运行文件,以提高程序的运行效率。行效率。1.2 MATLAB1.2 MATLAB产产品的体系品的体系结结构构 MATLABMATLABMATLAB ToolboxesMATLAB ToolboxesMATLAB CompilerMATLAB CompilerSimu
25、linkSimulinkSimulink BlocksetsSimulink BlocksetsReal-Time Workshop(RTW)Real-Time Workshop(RTW)StateflowStateflowStateflow CoderStateflow Coder由由这这些模些模块产块产品之品之间间的关系可以的关系可以图图1.11.1表示。表示。图1.1 MATLAB产品体系结构围绕围绕着着MATLABMATLAB这这个个计计算核心,形成了算核心,形成了诸诸多多针对针对不同不同应应用用领领域的算法程序包,被称域的算法程序包,被称为专为专用工具箱用工具箱(ToolboxToo
26、lbox),),这这些工具箱的列表以及每个工具箱的使些工具箱的列表以及每个工具箱的使用用详见详见MATLABMATLAB在在线线帮助文档。帮助文档。MATLABMATLAB本身所提供本身所提供的工具箱大概有的工具箱大概有4040多个,另外多个,另外还还有其他公司或研究有其他公司或研究单单位开位开发发提供的工具箱,提供的工具箱,这这些工具箱的些工具箱的总总数已有数已有100100多个,多个,而且新的工具箱而且新的工具箱还还在不断增加。如果你有特在不断增加。如果你有特别别的的应应用用领领域,可以首先到网上域,可以首先到网上查查找是否已有相关的工具箱,找是否已有相关的工具箱,很可能已有人将你要做的很
27、可能已有人将你要做的应应用程序作成工具箱了。用程序作成工具箱了。SimulinkSimulink是窗口是窗口图图形方式的、形方式的、专门专门用于用于连续时连续时间间或离散或离散时间时间的的动态动态系系统统建模、分析和仿真建模、分析和仿真的核心。的核心。Real-Time WorkshopReal-Time Workshop是一种是一种实时实时代代码码生成工具,它能生成工具,它能够够根据根据SimulinkSimulink模型生成程序源代模型生成程序源代码码,并打包、,并打包、编译编译所生成的源代所生成的源代码码生生成成实时应实时应用程序。用程序。从从现现有的有的Simulink Simulin
28、k 和和StateflowStateflow自自动动生成生成C C语语言程序代言程序代码码的功能、的功能、定点运算模定点运算模块块集(集(Fixed-point BlocksetFixed-point Blockset)与)与C C语语言程序代言程序代码码到到VHDLVHDL(Very High Speed Integrated Circuit Hardware Description Very High Speed Integrated Circuit Hardware Description LanguageLanguage,一种,一种标标准的硬件准的硬件电电路路设计语设计语言言 )的自)
29、的自动转换动转换功能,可以功能,可以看出,高看出,高级级的系統仿真或低的系統仿真或低级级的芯片算法的芯片算法设计设计,都可用,都可用MATLABMATLAB、SimulinkSimulink、StateflowStateflow及相关的工具箱来完成。及相关的工具箱来完成。StateflowStateflow是基于有限状是基于有限状态态机理机理论针对论针对复复杂杂的事件的事件驱动驱动系系统进统进行建模、仿真的工具。行建模、仿真的工具。Stateflow CoderStateflow Coder是基于是基于StateflowStateflow状状态图态图生成生成高效、高效、优优化的程序代化的程序代
30、码码。围绕围绕着着SimulinkSimulink仿真核心所开仿真核心所开发发的的应应用程序包,用程序包,称称为为模模块块集(集(BlocksetsBlocksets),MATLAB,MATLAB产产品提供品提供许许多多专专用模用模块块集,如集,如Communication BlocksetCommunication Blockset、DSP DSP BlocksetBlockset、SimPowerSystem BlocksetSimPowerSystem Blockset、Signal Signal Processing BlocksetProcessing Blockset等,等,详见详
31、见MATLABMATLAB在在线线帮助文帮助文档。档。MATLABMATLAB是是MATLABMATLAB产产品家族的品家族的计计算算核心与基核心与基础础,是集高性能数,是集高性能数值计值计算与算与数据可数据可视视化于一体的高效化于一体的高效编编程程语语言。言。5/9/202014.1.3 1.3 MATLABMATLAB编编程程语语言的特点言的特点 语语法法规则简单规则简单。尤其内定的尤其内定的编编程程规则规则,与其他,与其他编编程程语语言(如言(如C C、FortranFortran等)相比更接等)相比更接近于常近于常规规数学表示。数学表示。对对于数于数组变组变量的使用,不需量的使用,不需
32、类类型声明,无需事先申型声明,无需事先申请请内存空内存空间间。MATLABMATLAB语语言主要有以下几个特点:言主要有以下几个特点:MATLAB基本的基本的语语言言环环境提供了数以千境提供了数以千计计的的计计算函数算函数,极大的提高了用极大的提高了用户户的的编编程效率。程效率。如,一个如,一个fftfft函数即可完成函数即可完成对对指定数据的快速傅里叶指定数据的快速傅里叶变换变换,这这一任一任务务如果用如果用C C语语言来言来编编程程实现实现的的话话,至少要用几十条,至少要用几十条C C语语言才能完成。言才能完成。因此,因此,MATLABMATLAB是一个是一个简单简单易用、功能易用、功能强
33、强大的高效大的高效编编程程语语言。言。平台无关性(可移植性)平台无关性(可移植性)。MATLABMATLAB软软件可以运行在很多不同的件可以运行在很多不同的计计算机系算机系统统平台上,如平台上,如Windows Me/NT/2000/XPWindows Me/NT/2000/XP、很多不同版本的、很多不同版本的UNIXUNIX以及以及LinuxLinux。无。无论论你在哪一个平台上你在哪一个平台上编编写的程序都可以运行在其它平台上,写的程序都可以运行在其它平台上,对对于于MATLABMATLAB数据文件也一数据文件也一样样,是平台无关的。极,是平台无关的。极大保大保护护了用了用户户的的劳动劳动
34、、方便了用、方便了用户户。其其绘图绘图功能也是平台无关的功能也是平台无关的。无。无论论任何系任何系统统平台,平台,只要只要MATLABMATLAB能能够够运行,其运行,其图图形功能命令就能正常运行。形功能命令就能正常运行。MATLAB是一种脚本式是一种脚本式(scripted)的解的解释释型型语语言言,无无论论是命令、函数或是命令、函数或变变量,只要量,只要在命令窗口的提示符下在命令窗口的提示符下键键入,并入,并“回回车车(EnterEnter)”,MATLABMATLAB都予以解都予以解释执释执行。行。5/9/202015.n功能功能强强大大n数数值值运算运算优势优势n符号运算符号运算优势优
35、势(Maple)(Maple)n强强大的大的2D2D、3D3D数据可数据可视视化功能化功能n许许多具有算法自适多具有算法自适应应能力的功能函数能力的功能函数 5/9/202016.n语语言言简单简单、内涵丰富、内涵丰富n语语言及其言及其书书写形式非常接近于常写形式非常接近于常规规数学数学书书写形式;写形式;n其操作和功能函数指令就是常用的其操作和功能函数指令就是常用的计计算机和数学算机和数学书书上的一些上的一些简单简单英文英文单词单词表达的,如:表达的,如:helphelp、clearclear等;等;n完完备备的帮助系的帮助系统统,易学易用。,易学易用。n扩扩充能力、可开充能力、可开发发能力
36、能力较较强强nMATLABMATLAB完全成了一个开放的系完全成了一个开放的系统统n用用户户可以开可以开发发自己的工具箱自己的工具箱n可以方便地与可以方便地与FortranFortran、C C等等语语言接口言接口 n编编程易、效率高程易、效率高 nMatlabMatlab以数以数组为组为基本基本计计算算单单元元n具有大量的算法具有大量的算法优优化的功能函数化的功能函数 5/9/202017.2 MATLAB2 MATLAB的桌面的桌面环环境及入境及入门门知知识识n启启动动与退出与退出MATLAB MATLAB n命令窗口及使用命令窗口及使用n数数值值表示、表示、变变量、表达式量、表达式n命令
37、命令历历史窗口史窗口n工作空工作空间间n获获取在取在线线帮助帮助 5/9/202018.2.1 2.1 启启动动与退出与退出MATLABMATLABn启启动动MATLABMATLABn直接用鼠直接用鼠标标双双击击桌面上桌面上MATLAB7.1MATLAB7.1图标图标n或或WindowsWindows桌面的桌面的“开始开始”“所有程序所有程序”“MATLAB7.1”“MATLAB7.1”“MATLAB7.1”“MATLAB7.1”。n退出退出MATLABMATLABn关关闭闭MATLABMATLAB桌面桌面n在命令窗口在命令窗口执执行行quitquit或或exitexit命令命令nMATLAB
38、MATLAB缺省桌面(缺省桌面(见见下下页页)5/9/202019.菜菜单栏单栏工具工具栏栏文件文件编辑编辑窗口窗口工作空工作空间间历历史命令史命令窗口窗口Start Start 菜菜单单命令窗口命令窗口命令提示符命令提示符2.1 2.1 启启动动与退出与退出MATLAB MATLAB(续续)5/9/202020.2.2 2.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口。“”与与闪烁闪烁的光的光标标一起表明系一起表明系统统就就绪绪,等待,等待输输入。入。命令窗口脱离命令窗口脱离MATLABMATLAB桌面。桌面。n简单计简单计算算【例例2.2-12.2-1】计计算算(1 1)在)
39、在MATLABMATLAB命令窗口命令窗口输输入入 以下内容:以下内容:(12+2*(7-4)/32(12+2*(7-4)/32(2 2)按)按【EnterEnter】键键,指令,指令执执行。行。(3 3)返回的)返回的计计算算结结果:果:ans=2 5/9/202021.2.2 2.2 命令窗口命令窗口 (续续)说说明明 l在命令窗口在命令窗口【EnterEnter】键键提交命令提交命令执执行。行。lMatlabMatlab所用运算符(如所用运算符(如+、-、等)是各种等)是各种计计算程序中算程序中常常见见的。的。l计计算算结结果中的果中的“ansans”是英文是英文“answer”answ
40、er”的一种的一种缩缩写,写,其含其含义义就是就是“运算答案运算答案”。ansans是是MatlabMatlab的一个的一个预预定定义义变变量。量。5/9/202022.2.2 2.2 命令窗口命令窗口 (续续)n简单计算(续)【例【例2.2-22.2-2】计算】计算sin(4sin(4(sin(45*pi/180)sin(45*pi/180)lMatalb中正弦函数中正弦函数sin就是常就是常见见的正弦函数。的正弦函数。l它的参数它的参数值值是以是以“弧度弧度”为单为单位的。位的。lpi也是也是Matalb的的预预定定义变义变量。量。lpi=3.14159lMatlab对对字母大小写是敏感的
41、。字母大小写是敏感的。【例【例2.2-32.2-3】计计算算 的的值值,其中,其中x=4.92x=4.92。sqrt(2*exp(4.92+0.5)+1)sqrt(2*exp(4.92+0.5)+1)lMatalb中开平方中开平方sqrt(x),是英文,是英文square root的的缩缩写写。lMatalb中指数函数中指数函数exp(x),常,常见见的表达方式的表达方式。ans=0.7071ans=21.2781 5/9/202023.2.2 2.2 命令窗口命令窗口 (续续)7“clcclc”清除窗口清除窗口显显示内容的命令示内容的命令。【例【例2.2-42.2-4】计计算算 的的值值。y
42、=2*sin(0.3*pi)/(1+sqrt(5)y=2*sin(0.3*pi)/(1+sqrt(5)y=0.5000【例【例2.2-52.2-5】计计算算 的的值值。y=2*cos(0.3*pi)/(1+sqrt(5)y=0.3633%命令行编辑l“”键调回已输入过命令。l修改。5/9/202024.2.2 2.2 命令窗口命令窗口 (续续)【例【例2.2-52.2-5】计计算半径算半径为为5.2m5.2m的的圆圆的周的周长长和面和面积积。radius=5.2;%radius=5.2;%圆圆的半径的半径area=pi*5.22,area=pi*5.22,circle_len=2*pi*5.2
43、circle_len=2*pi*5.2area=84.9487circle_len=32.6726l以上两例,命令行中用到了等号以上两例,命令行中用到了等号“=”。l计计算算结结果不再果不再赋给赋给“ans”,而是,而是赋给赋给用用户户指定的指定的变变量量y、area、circle_len。l无无论论是是预预定定义变义变量量还还是用是用户户自定自定义变义变量量都被存都被存储储在系在系统统的工作空的工作空间间内,即系内,即系统统定定义义的一个存的一个存储储窗口窗口变变量的内存空量的内存空间间。lWho、whos命令用来命令用来显显示工作空示工作空间间的的变变量量lclear命令用来清除工作空命令
44、用来清除工作空间间的的变变量。量。5/9/202025.2.2 2.2 命令窗口命令窗口 (续续)whowhosYour variables are:ans circle_len y area radius Name Size Bytes Class ans 1x1 8 double array area 1x1 8 double array circle_len 1x1 8 double array radius 1x1 8 double array y 1x1 8 double arrayGrand total is 5 elements using 40 bytes 5/9/202026
45、.2.2 2.2 命令窗口命令窗口 (续续)clearywhoYour variables are:ans circle_len area radius clearansareawhosYour variables are:Name Size Bytes Class circle_len 1x1 8 double array radius 1x1 8 double arrayGrand total is 2 elements using 16 bytes 5/9/202027.2.2 2.2 命令窗口命令窗口 (续续)n数数值显值显示格式示格式设设置置n缺省缺省显显示格式:示格式:简洁简洁的短
46、(的短(short gshort g)格式)格式n窗口命令及窗口命令及语语法格式:法格式:format format 显显示格式关示格式关键键字字 如:如:format long%15format long%15位数字位数字显显示示n常常见见通用命令通用命令命令命令含含义义clcclc清除命令窗口的清除命令窗口的显显示内容示内容clearclear 清除清除MatlabMatlab工作空工作空间间中保存的中保存的变变量量whowho或或whoswhos显显示示MatlabMatlab工作空工作空间间中的中的变变量信息量信息dirdir显显示当前工作目示当前工作目录录的文件和子目的文件和子目录录
47、清清单单cdcd显显示或示或设设置当前工作目置当前工作目录录typetype显显示指定示指定m m文件的内容文件的内容helphelp或或docdoc获获取在取在线线帮助帮助quitquit或或exitexit关关闭闭/推出推出MATALBMATALB 5/9/202028.2.3 2.3 工作空工作空间间n查查看工作空看工作空间间内存内存变变量,可以由量,可以由whowho、whos whos。n命名新命名新变变量。量。n修改修改变变量名量名n删删除除变变量量n绘图绘图n保存保存变变量数据量数据n装入数据装入数据 5/9/202029.2.4 2.4 历历史窗口史窗口n历历史窗口:史窗口:n
48、首先首先记录记录每次启每次启动时间动时间n并并记录记录在命令窗口在命令窗口输输入命令入命令,此次运行期,此次运行期间间,输输入的所有命令被入的所有命令被记录为记录为一一组组,并以此次启,并以此次启动时动时间为标间为标志。志。n使用使用历历史窗口:史窗口:n可以可以查查看命令窗口看命令窗口输输入入过过的命令或的命令或语语句句n可以可以选择选择一条或多条命令一条或多条命令执执行拷行拷贝贝、执执行、行、创创建建MM文件等。文件等。要清除要清除历历史史记录记录,可以,可以选择选择Edit菜菜单单中的中的ClearCommandHistory命令命令 5/9/202030.2.5 2.5 当前目当前目录
49、录窗口和搜索路径窗口和搜索路径当前目当前目录录窗口:窗口:指指Matlab运行运行时时的工作目的工作目录录。l只有在当前目只有在当前目录录和搜索路径下的文件、函数才可以被和搜索路径下的文件、函数才可以被运行和运行和调调用。用。l如果没有特殊指明,数据文件也将存放在当前目如果没有特殊指明,数据文件也将存放在当前目录录下;下;l用用户户可以将自己的工作目可以将自己的工作目录设录设置成当前目置成当前目录录,从而使,从而使得所有操作都在当前目得所有操作都在当前目录录中中进进行。行。5/9/202031.搜索路径:搜索路径:指指Matlab执执行行过过程中程中对变对变量、函数和文件量、函数和文件进进行搜
50、索的路径。行搜索的路径。l在在File菜菜单单中中选择选择SetPath命令或在命令窗口命令或在命令窗口输输入入pathtool命令,出命令,出现现搜索路径搜索路径设设置置对话对话框:框:!修改完搜索路径后,!修改完搜索路径后,需要需要进进行保存。行保存。5/9/202032.2.6获获取在取在线线帮助帮助nMATLAB提供的帮助信息有两提供的帮助信息有两类类n简单纯简单纯文本帮助信息文本帮助信息helplookfor(条件比(条件比较宽较宽松)松)例:例:inversen窗口式窗口式综综合帮助信息(文字、公式、合帮助信息(文字、公式、图图形)形)dochelpwin 5/9/202033.【
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100