matlab教程ppt(全).ppt名师制作优质教学资料

上传人:ni****g 文档编号:568846935 上传时间:2024-07-27 格式:PPT 页数:340 大小:5.96MB
返回 下载 相关 举报
matlab教程ppt(全).ppt名师制作优质教学资料_第1页
第1页 / 共340页
matlab教程ppt(全).ppt名师制作优质教学资料_第2页
第2页 / 共340页
matlab教程ppt(全).ppt名师制作优质教学资料_第3页
第3页 / 共340页
matlab教程ppt(全).ppt名师制作优质教学资料_第4页
第4页 / 共340页
matlab教程ppt(全).ppt名师制作优质教学资料_第5页
第5页 / 共340页
点击查看更多>>
资源描述

《matlab教程ppt(全).ppt名师制作优质教学资料》由会员分享,可在线阅读,更多相关《matlab教程ppt(全).ppt名师制作优质教学资料(340页珍藏版)》请在金锄头文库上搜索。

1、耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMATLAB 语言及其应用授课教师:刘晨晨单位:网络工程与信息安全系email: Application of Matlab Language1.在职博士招生简章 http:/炯褪首思沿煎议驰羽肢酝多痹糕猪隙迸蜕囱悼涧梦兰烘呸啤驴绑郸揩尽舰matlab教程ppt(全).pptmatlab教程ppt(全).pptn课程的作用课程的作用n课程的目的课程的目的n课程的特点课程的特点n课程安排课程安排扩讥绰难尔佃盂疽楔膀揍窜玻料园佣绅拎架只管拆熄幽食棚漏亨总拽浴渠m

2、atlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20242Application of Matlab Language课程的作用课程的作用 在欧美各在欧美各高等学校高等学校,MatlabMatlab成为线性代数、自动控制理论、成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具,成为诸多课程的基本教学工具,成为本科生、硕士生和博士生的本科生、硕士生和博士生的必须掌握的基本技能。必须掌握的基本技能。 在在设计研究单位和工业部门设计研究单位和工业部门,Matlab

3、Matlab已被广泛地用于研究已被广泛地用于研究和和解决各种具体的工程问题解决各种具体的工程问题。 可以预见,可以预见,MatlabMatlab将在我国科学研究和工程应用中发挥越将在我国科学研究和工程应用中发挥越来越大的作用。来越大的作用。谢拎氦吝伯瘁壮变阳绊宾杉琼严逊率瘟泛股塌剃示篓爽波川冲孽石乘跟许matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20243Application of Matlab Language 讲授讲授MATLABMATLAB语言基础入门知识语言基础入门知识,介绍,介绍MATLABMATLAB产品的体系、产品的体系、MATLABMA

4、TLAB桌面工具桌面工具的使用方法,的使用方法,重点介绍重点介绍MATLABMATLAB的数据可视化、的数据可视化、数值计算数值计算的基本步骤的基本步骤以及以及如何使如何使用用MATLABMATLAB语言编写整洁、高效、规范的程序。语言编写整洁、高效、规范的程序。并涉及到一些具体的并涉及到一些具体的专业应用工专业应用工具箱具箱(如:信号处理工具箱、图像处理工具箱等)。(如:信号处理工具箱、图像处理工具箱等)。 通过本课程的学习,通过本课程的学习,了解、熟悉、掌握了解、熟悉、掌握 MATLAB MATLAB的基本编程方法的基本编程方法,并具有初并具有初步的利用计算机处理、解决实际问题的能力步的利

5、用计算机处理、解决实际问题的能力,为进一步学习后续的专业课程做,为进一步学习后续的专业课程做好准备。好准备。本课程的目的本课程的目的( Objectives of This Course Objectives of This Course ) 本课程的特点本课程的特点( Features of This Course Features of This Course ) 交叉性课程,是交叉性课程,是计算机技术计算机技术、数学理论数学理论知识以及诸多知识以及诸多工程理论工程理论知识的综合。知识的综合。 实践性课程。实践性课程。 内容多,课时少,要求同学上课认真听讲,要充分利用上机实践消化、理解、内

6、容多,课时少,要求同学上课认真听讲,要充分利用上机实践消化、理解、 掌握课上讲解内容。掌握课上讲解内容。唯涛朝对哆搀脖伯悼株叶韭葬说鞘著跟偶矿男变甭嘛矛竿驹哎敢搪乔满咒matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20244Application of Matlab Language课程安排课程安排n课堂教学:共课堂教学:共2424学时;学时;(1-121-12周)周)n上机试验:共上机试验:共2424学时。学时。 (2-132-13周,周二周,周二7-87-8节,九实节,九实401401、402402、403403)p学习成绩:学习成绩: 1)上机实验成

7、绩占上机实验成绩占30%;30%; 2)考勤考勤 10% ; 10% ; 3) 考试考试60% 60% (随堂考试)(随堂考试)。主要参考书主要参考书精通精通MATLAB 6.5MATLAB 6.5张志涌张志涌 等编著,北航出版,等编著,北航出版,20032003年年高等应用数学问题的高等应用数学问题的MatlabMatlab求解求解 薛定宇等著,清华大学出薛定宇等著,清华大学出版社,版社,20042004年年MatlabMatlab程序设计与应用程序设计与应用 刘卫国主编,高等教育出版社刘卫国主编,高等教育出版社翁厄靴底烂膀睁希多务峻颅迪缔犬主契猩霓碾藤答乌甩社捣绪验祝土韵止matlab教程

8、ppt(全).pptmatlab教程ppt(全).ppt 7/27/20245Application of Matlab Language授课宗旨授课宗旨 讲授讲授MATLAB的通用功能。的通用功能。 寓教于例,由浅入深。寓教于例,由浅入深。 关于科学计算,着重强调理论概念、算法和实际计算三者关于科学计算,着重强调理论概念、算法和实际计算三者之间的关系。之间的关系。态尸砷喂刑童发莹分矮橙毡汀牵华报途世赌蒙酞陀姬解滦铬振苫肺寇风咒matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20246Application of Matlab Language第一讲第一讲

9、Matlab概述n前言前言nMatlabMatlab软件概述软件概述nMatlabMatlab的桌面环境及入门知识的桌面环境及入门知识出触夺副村让使饮单彦嗓卧顷塑婶痉抱悟逐更至替迈颁校镇厄兢吨屡渍哦matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20247Application of Matlab Language1 Matlab1 Matlab概述概述n内容内容nMatlabMatlab发展历史发展历史nMatlabMatlab产品家族产品家族( (MatlabMatlab family of productsfamily of products) )体系

10、体系nMatlab Matlab 语言的特点。语言的特点。n目的目的n全面了解全面了解 Matlab Matlab软件包软件包n激发对激发对MatlabMatlab软件的学习兴趣。软件的学习兴趣。烯颂边呐梯巷纵鸿晃都弘镶框讥矗掷臀丝请腆当柬疟邮熊阳谣巍件朝咎横matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20248Application of Matlab Language1.1 MATLAB的历史及影响的历史及影响 7070年代中期年代中期,Cleve MolerCleve Moler博土及其同事在美国国家基金博土及其同事在美国国家基金会的帮助下,开发了

11、会的帮助下,开发了LINPACKLINPACK和和EISPACKEISPACK的的FORTRANFORTRAN语言子语言子程序库,程序库,这两个程序库代表了当时矩阵运算的最高水平。这两个程序库代表了当时矩阵运算的最高水平。到了到了7070年代后期年代后期,身为美国新墨西哥州大学计算机系系主,身为美国新墨西哥州大学计算机系系主任的任的CIeve MolerCIeve Moler,在给学生上线性代数课时,为了让学,在给学生上线性代数课时,为了让学生能使用这两个子程序库,同时又不用在编程上花费过多生能使用这两个子程序库,同时又不用在编程上花费过多的时间,开始着手用的时间,开始着手用FORTRANFO

12、RTRAN语言为学生编写使用语言为学生编写使用LINPACKLINPACK和和EISPACKEISPACK的接口程序,他将这个程序取名为的接口程序,他将这个程序取名为MATLABMATLAB,其其名称是由名称是由MATrixMATrix和和 LABoratory LABoratory(矩阵实验室)两个单词(矩阵实验室)两个单词的前三个字母所合成的前三个字母所合成。在在19781978年年,MalabMalab就面世了。这个程序获得了很大的成功,就面世了。这个程序获得了很大的成功,受到了学生的广泛欢迎。在以后的几年里,受到了学生的广泛欢迎。在以后的几年里,MatlabMatlab在多所在多所大学

13、里作为教学辅助软件使用,并作为面向大众的免费软大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。件广为流传。CleveMoler顾惩绽言那冻渠交删巴楷昔槐眷奸役呐骋翻贺椽尝撕耀馆宵厉赚瞬疯郑圭matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/20249Application of Matlab Language 将将MATLABMATLAB商品化的不是商品化的不是Cleve MolerCleve Moler, ,而是一个名叫而是一个名叫Jack Jack LittleLittle的人。当免费的的人。当免费的MATLABMATLAB软件到软件到Sta

14、nfordStanford大学,大学,Jack Jack LittleLittle正在该校主修正在该校主修控制控制,便接触到了当时,便接触到了当时MATLABMATLAB,直觉告诉他,直觉告诉他,这是一个具有巨大发展潜力的软件。因此他在毕业沒多久,就开这是一个具有巨大发展潜力的软件。因此他在毕业沒多久,就开始始用用C C语言重新编写了语言重新编写了MATLABMATLAB的核心。的核心。在在MolerMoler的协助下,于的协助下,于19841984年成立年成立MathWorksMathWorks公司,首次推出公司,首次推出MATLABMATLAB商用版。在其商用版推商用版。在其商用版推出的初

15、期,出的初期,MATLABMATLAB就以其优秀的品质(就以其优秀的品质(高效的数据计算能力和开高效的数据计算能力和开放的体系结构放的体系结构)占据了大部分数学计算软件的市场,原来应用于)占据了大部分数学计算软件的市场,原来应用于控制领域里的一些封闭式数学计算软件包(如英国的控制领域里的一些封闭式数学计算软件包(如英国的UMISTUMIST、瑞、瑞典的典的LUNDLUND和和SIMNONSIMNON、德国的、德国的KEDDCKEDDC)就纷纷被淘汰或在)就纷纷被淘汰或在MATLABMATLAB上上重建。重建。Jack Little肋吏菊灶匙例伺亦唆齐赢掉誓滇嘴国耽摧适锦桥新罗庆蠕纸钒押难庚赖讯

16、matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202410Application of Matlab Language Cleve MolerCleve Moler至今仍是该公司的首席科学家至今仍是该公司的首席科学家,他以,他以6060多多岁的高龄,还常常亲自进行撰写岁的高龄,还常常亲自进行撰写程序的工作,非常令人佩服。如果你有数值运算方面的高水平问题,寄到程序的工作,非常令人佩服。如果你有数值运算方面的高水平问题,寄到 MathWorks MathWorks 后,后,大部份还是会由大部份还是会由 Cleve Moler Cleve Moler亲自回答。在

17、亲自回答。在19941994年,年,PentiumPentium芯片曾发生芯片曾发生FdivFdiv的的bugbug, 当时当时Cleve MolerCleve Moler是第一个以软件方式解决此是第一个以软件方式解决此 bug bug的人,曾一时脍炙人口的人,曾一时脍炙人口。 在公司初创的五年,在公司初创的五年,Jack LittleJack Little非常辛苦,常常身兼数职(董事长、总经理、推销、非常辛苦,常常身兼数职(董事长、总经理、推销、程序开发等),但公司一直稳定发展,从当初的一人公司,到程序开发等),但公司一直稳定发展,从当初的一人公司,到19931993年的年的200200人,

18、到人,到20002000年的年的 500500余人,余人,到到20052005年公司员工达到了年公司员工达到了13001300人,人,不但打不但打败败其他竞争软件,而且前景一片欣欣向其他竞争软件,而且前景一片欣欣向荣。根据荣。根据Jack LittleJack Little个人个人说说法,法,MATLABMATLAB早期成功的两大因素是:选用了早期成功的两大因素是:选用了C C语语言及选定言及选定PCPC为主为主要平台,这似乎和微软的成功有相互呼应之妙。要平台,这似乎和微软的成功有相互呼应之妙。 MathWorksMathWorks公司,目前仍然是私人企业,并未上市,这和公司,目前仍然是私人企

19、业,并未上市,这和Jack LittleJack Little个人理念有关,个人理念有关,他认为他认为MATLABMATLAB的设计方向应该一直是以顾客的需求与软件的完整性为首要目标的设计方向应该一直是以顾客的需求与软件的完整性为首要目标,而不是以盈,而不是以盈利为主要利为主要目的目的,因此,因此MATLABMATLAB一直是在稳定中求进步,而不会因为上市而遭受股东左右其发展一直是在稳定中求进步,而不会因为上市而遭受股东左右其发展方向。这也是为什么方向。这也是为什么MATLABMATLAB新版本总是新版本总是姗姗来姗姗来迟迟的的原因,因为他们不会因为市场的需求而推原因,因为他们不会因为市场的需

20、求而推出不成熟的产品。此外,由于出不成熟的产品。此外,由于Jack LittleJack Little保守的个性,也使得保守的个性,也使得MathWorksMathWorks不曾跨足不曾跨足MATLAB/SimulinkMATLAB/Simulink以外的行业,当前商场上纷纷扰扰的并购或分家,以外的行业,当前商场上纷纷扰扰的并购或分家,MathWorksMathWorks完全是绝缘体。完全是绝缘体。乓舜皂诚采窘版罚脊七尊肛历瑶窒权衣炉寝干偶轧漆代篆零轮无僵宣知耪matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202411Application of Matl

21、ab Language 1992 1992年,支持年,支持Windows 3.xWindows 3.x的的MATLAB 4.0MATLAB 4.0版本推出,增加了版本推出,增加了SimulinkSimulink,ControlControl,Neural NetworkNeural Network,Signal ProcessingSignal Processing等专用工具箱。等专用工具箱。 1993 1993年年1111月,月,MathWorksMathWorks公司推出了公司推出了Matlab 4.1Matlab 4.1,其中主要增加了符号运算功能。,其中主要增加了符号运算功能。当升级至

22、当升级至Matlab 4.2cMatlab 4.2c,这一功能在用户中得到广泛应用。,这一功能在用户中得到广泛应用。 1997 1997年,年,Matlab 5.0Matlab 5.0版本问世了版本问世了, ,实现了真正的实现了真正的3232位运算,加快数值计算,图形位运算,加快数值计算,图形表现有效。表现有效。 2001 2001年初,年初,MathWorksMathWorks公司推出了公司推出了Matlab 6.0Matlab 6.0(R12R12)。)。 2002 2002年年7 7月,推出了月,推出了Matlab 6.5(R13)Matlab 6.5(R13),在这一版本中,在这一版本

23、中SimulinkSimulink升级到了升级到了5.05.0,性能有了很大提高,另一大特点是推出了性能有了很大提高,另一大特点是推出了JITJIT程序加速器,程序加速器,MatlabMatlab的计算速度有的计算速度有了明显的提高。了明显的提高。 2005 2005年年9 9月,推出了月,推出了MAILAB 7.1(Release14 SP3)MAILAB 7.1(Release14 SP3),在这一版本中,在这一版本中SimulinkSimulink升级升级到了到了6.36.3,软件性能有了新的提高,用户界面更加友好。值得说明的是,软件性能有了新的提高,用户界面更加友好。值得说明的是,Ma

24、tlab Matlab V7.1V7.1版采用了更先进的数学程序库,即版采用了更先进的数学程序库,即“LAPACKLAPACK”和和“BLASBLAS”。 目前,目前,MatlabMatlab软件支持多种系统平台,如常见的软件支持多种系统平台,如常见的WindowsNT/XPWindowsNT/XP、UNIXUNIX、LinuxLinux等。等。Matlab版本的发展版本的发展剿亦憾胺七废疥粒侠埠峪嘻佛串噶履谱啊削排啼窝掷真吵俯墩狡唆萌大按matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202412Application of Matlab Language

25、 MATLABMATLAB就是这样经过了近就是这样经过了近3030年的专门打造、年的专门打造、2020多年的千锤百炼,它以高性能多年的千锤百炼,它以高性能的的数组运算(包括矩阵运算)数组运算(包括矩阵运算)为基础,不仅实现了大多数数学算法的为基础,不仅实现了大多数数学算法的高效运行函数高效运行函数和和数据可视化数据可视化,而且提供了非常高效的,而且提供了非常高效的计算机高级编程语言计算机高级编程语言,在用户可参与的情况,在用户可参与的情况下,下,各种专业领域的工具箱各种专业领域的工具箱不断开发和完善,不断开发和完善,MATLABMATLAB取得了巨大的成功,已广泛应取得了巨大的成功,已广泛应用

26、于用于科学研究、工程应用,用于数值计算分析、系统建模与仿真科学研究、工程应用,用于数值计算分析、系统建模与仿真。 早在早在2020世纪世纪9090年代初年代初,欧美等发达国家的大学欧美等发达国家的大学就将就将MATLABMATLAB列为一种必须掌握的列为一种必须掌握的编程语言。近几年来,国内的很多大学也将编程语言。近几年来,国内的很多大学也将MATLABMATLAB列为了列为了本科生本科生必修课程。必修课程。 与与MapleMaple、MathematicaMathematica数学计算软件相比,数学计算软件相比,MATLABMATLAB以数值计算见长,而以数值计算见长,而MapleMaple

27、等以符号运算见长,能给出解析解和任意精度解,而处理大量数据的能力远不如等以符号运算见长,能给出解析解和任意精度解,而处理大量数据的能力远不如MATLABMATLAB。 MATLAB MATLAB软件功能之强大、应用之广泛,已成为为软件功能之强大、应用之广泛,已成为为2121世纪最为重要的科学计算语世纪最为重要的科学计算语言言。可见学习掌握这一工具的重要性。可见学习掌握这一工具的重要性。 奉砧紊跪相票饭醉阅堡蹬浮观荐连活淘籍啦总至煌庄溉盂腻妖岔区沫纯类matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202413Application of Matlab Lan

28、guage MATLABMATLAB产品由若干模块组成,不同的模块完成不同的功能,其中有:产品由若干模块组成,不同的模块完成不同的功能,其中有: 实际上实际上MATLABMATLAB本身就是一个极其丰富的资源库,那么应该从哪一部分开始着手、学习本身就是一个极其丰富的资源库,那么应该从哪一部分开始着手、学习使用使用MATLABMATLAB呢?这就有必要了解这一软件产品的体系结构呢?这就有必要了解这一软件产品的体系结构 。MATLAB CompilerMATLAB Compiler这种编译器可以将这种编译器可以将MATLABMATLAB程序文程序文件编译生成标准的件编译生成标准的C/C+C/C+语

29、言文件,而生成的标准语言文件,而生成的标准的的C/C+C/C+文件可以被任何一种文件可以被任何一种C/C+C/C+编译器编译生编译器编译生成函数库或可执行文件,以提高程序的运行效率。成函数库或可执行文件,以提高程序的运行效率。1.2 MATLAB1.2 MATLAB产品的产品的体系结构体系结构 MATLABMATLABMATLAB ToolboxesMATLAB ToolboxesMATLAB CompilerMATLAB CompilerSimulinkSimulinkSimulink BlocksetsSimulink BlocksetsReal-Time Workshop Real-Ti

30、me Workshop (RTW)(RTW)StateflowStateflowStateflow CoderStateflow Coder由这些模块产品之间的关系可以图由这些模块产品之间的关系可以图1.11.1表示。表示。图1.1 MATLAB产品体系结构围绕着围绕着MATLABMATLAB这个计算核心,形成了诸多针对不同应这个计算核心,形成了诸多针对不同应用领域的算法程序包,被称为专用工具箱用领域的算法程序包,被称为专用工具箱(ToolboxToolbox),这些工具箱的列表以及每个工具箱的),这些工具箱的列表以及每个工具箱的使用详见使用详见MATLABMATLAB在线帮助文档。在线帮助文

31、档。MATLABMATLAB本身所提供的本身所提供的工具箱大概有工具箱大概有4040多个,另外还有其他公司或研究单位多个,另外还有其他公司或研究单位开发提供的工具箱,这些工具箱的总数已有开发提供的工具箱,这些工具箱的总数已有100100多个,多个,而且新的工具箱还在不断增加。如果你有特别的应用而且新的工具箱还在不断增加。如果你有特别的应用领域,可以首先到网上查找是否已有相关的工具箱,领域,可以首先到网上查找是否已有相关的工具箱,很可能已有人将你要做的应用程序作成工具箱了。很可能已有人将你要做的应用程序作成工具箱了。SimulinkSimulink是窗口图形方式的、专门用于连续是窗口图形方式的、

32、专门用于连续时间或离散时间的动态系统建模、分析和仿时间或离散时间的动态系统建模、分析和仿真的核心。真的核心。Real-Time WorkshopReal-Time Workshop是一种实时代码生成工具,它能够根据是一种实时代码生成工具,它能够根据SimulinkSimulink模型生成程序源代码,并打包、编译所生成的源代码模型生成程序源代码,并打包、编译所生成的源代码生成实时应用程序。生成实时应用程序。 从现有的从现有的Simulink Simulink 和和StateflowStateflow自动生成自动生成C C语言程序代码的功语言程序代码的功能、定点运算模块集(能、定点运算模块集(Fi

33、xed-point BlocksetFixed-point Blockset)与)与C C语言程序代码语言程序代码到到VHDLVHDL(Very High Speed Integrated Circuit Hardware Very High Speed Integrated Circuit Hardware Description LanguageDescription Language,一种标准的硬件电路设计语言,一种标准的硬件电路设计语言 )的自动)的自动转换功能,可以看出,高级的系統仿真或低级的芯片算法设计,都转换功能,可以看出,高级的系統仿真或低级的芯片算法设计,都可用可用MATLA

34、BMATLAB、SimulinkSimulink、StateflowStateflow及相关的工具箱来完成。及相关的工具箱来完成。StateflowStateflow是基于有限状态机理论针对复是基于有限状态机理论针对复杂的事件驱动系统进行建模、仿真的工具。杂的事件驱动系统进行建模、仿真的工具。Stateflow CoderStateflow Coder是基于是基于StateflowStateflow状态图状态图生成高效、优化的程序代码。生成高效、优化的程序代码。围绕着围绕着SimulinkSimulink仿真核心所开发的应用程序包,仿真核心所开发的应用程序包,称为模块集(称为模块集(Block

35、setsBlocksets),MATLAB,MATLAB产品提供许多产品提供许多专用模块集,如专用模块集,如Communication BlocksetCommunication Blockset、DSP DSP BlocksetBlockset、SimPowerSystem BlocksetSimPowerSystem Blockset、Signal Signal Processing BlocksetProcessing Blockset等,详见等,详见MATLABMATLAB在线帮助在线帮助文档。文档。MATLABMATLAB是是MATLABMATLAB产品家族的计算核心产品家族的计算核

36、心与基础,是集高性能数值计算与数据与基础,是集高性能数值计算与数据可视化于一体的高效编程语言。可视化于一体的高效编程语言。跨螺振落滥察崇皑丽绊日板眯磐曙栖在撤俗盲峨际怨甜允统稼拆顽渡箭仓matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202414Application of Matlab Language1.3 1.3 MATLABMATLAB编程语言的特点编程语言的特点 语法规则简单语法规则简单。尤其内定的编程规则,与其他编程语言(如尤其内定的编程规则,与其他编程语言(如C C、FortranFortran等)相比更接等)相比更接近于常规数学表示。对于数组

37、变量的使用,不需类型声明,无需事先申请内存空间。近于常规数学表示。对于数组变量的使用,不需类型声明,无需事先申请内存空间。MATLABMATLAB语言主要有以下几个特点:语言主要有以下几个特点: MATLAB基本的语言环境提供了数以千计的计算函数基本的语言环境提供了数以千计的计算函数,极大的提高了用户的编程效率。极大的提高了用户的编程效率。如,一个如,一个fftfft函数即可完成对指定数据的快速傅里叶变换,这一任务如果用函数即可完成对指定数据的快速傅里叶变换,这一任务如果用C C语言来编程语言来编程实现的话,至少要用几十条实现的话,至少要用几十条C C语言才能完成。语言才能完成。 因此,因此,

38、MATLABMATLAB是一个简单易用、功能强大的高效编程语言。是一个简单易用、功能强大的高效编程语言。 平台无关性(可移植性)平台无关性(可移植性)。MATLABMATLAB软件可以运行在很多不同的计算机系统平台上,如软件可以运行在很多不同的计算机系统平台上,如Windows Me/NT/2000/XPWindows Me/NT/2000/XP、很多不同版本的、很多不同版本的UNIXUNIX以及以及LinuxLinux。无论你在哪一个平台上编写。无论你在哪一个平台上编写的程序都可以运行在其它平台上,对于的程序都可以运行在其它平台上,对于MATLABMATLAB数据文件也一样,是平台无关的。极

39、大保数据文件也一样,是平台无关的。极大保护了用户的劳动、方便了用户。护了用户的劳动、方便了用户。其绘图功能也是平台无关的其绘图功能也是平台无关的。无论任何系统平台,只要。无论任何系统平台,只要MATLABMATLAB能够运行,其图形功能命令就能正常运行。能够运行,其图形功能命令就能正常运行。 MATLAB是一种脚本式是一种脚本式(scripted)的解释型语言的解释型语言,无论是命令、函数或变量,只要在无论是命令、函数或变量,只要在命令窗口的提示符下键入,并命令窗口的提示符下键入,并“回车(回车(EnterEnter)”,MATLABMATLAB都予以解释执行。都予以解释执行。猩油书款咙身拐械

40、镶频疵浇欧鸣昆筒丸赏糠樊馋卫止炔争哨琉滤醋杖皇琅matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202415Application of Matlab Languagen功能强大功能强大n数值运算优势数值运算优势n符号运算优势符号运算优势(Maple)(Maple)n强大的强大的2D2D、3D3D数据可视化功能数据可视化功能n许多具有算法自适应能力的功能函数许多具有算法自适应能力的功能函数怂聪左断位定名兜竹刮甫冕提百淘尼咱椽财麦美粗俞牧羊费戈蜜秩暇哉系matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202416Applic

41、ation of Matlab Languagen语言简单、内涵丰富语言简单、内涵丰富n语言及其书写形式非常接近于常规数学书写形式;语言及其书写形式非常接近于常规数学书写形式;n其操作和功能函数指令就是常用的计算机和数学书上的一些简单其操作和功能函数指令就是常用的计算机和数学书上的一些简单英文单词表达的,如:英文单词表达的,如:helphelp、clearclear等;等;n完备的帮助系统,易学易用。完备的帮助系统,易学易用。n扩充能力、可开发能力较强扩充能力、可开发能力较强nMATLABMATLAB完全成了一个开放的系统完全成了一个开放的系统n用户可以开发自己的工具箱用户可以开发自己的工具箱

42、n可以方便地与可以方便地与FortranFortran、C C等语言接口等语言接口 n编程易、效率高编程易、效率高 nMatlabMatlab以数组为基本计算单元以数组为基本计算单元n具有大量的算法优化的功能函数具有大量的算法优化的功能函数粘壁襄絮季绥儿曾量缩碰绅驯由癸速屏律蛊绥奏嫂恩酸脾袍磷发撇羡遗侍matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202417Application of Matlab Language2 MATLAB2 MATLAB的桌面环境及入门知识的桌面环境及入门知识n启动与退出启动与退出MATLAB MATLAB n命令窗口及使用命

43、令窗口及使用n数值表示、变量、表达式数值表示、变量、表达式n命令历史窗口命令历史窗口n工作空间工作空间n获取在线帮助获取在线帮助臭具懒寨必钒肚辗哈吁娇霜撵庭士捆烃褂侵棋栗斟沽坤渐陕更捐饭顿弱娩matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202418Application of Matlab Language2.1 2.1 启动与退出启动与退出MATLABMATLABn启动启动MATLABMATLABn直接用鼠标双击桌面上直接用鼠标双击桌面上MATLAB7.1MATLAB7.1图标图标n或或WindowsWindows桌面的桌面的“开始开始”“所有程序所有

44、程序”“MATLAB7.1MATLAB7.1” “MATLAB7.1MATLAB7.1”。n退出退出MATLABMATLABn关闭关闭MATLABMATLAB桌面桌面n在命令窗口执行在命令窗口执行quitquit或或exitexit命令命令nMATLABMATLAB缺省桌面(见下页)缺省桌面(见下页)扫缝梦踏声皂涸索貌佣鸡俘妒鹰权淤脖篓腆抚夹滋拭汀抿催纳蹲缘丧冗涝matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202419Application of Matlab Language菜单菜单栏栏工具栏工具栏文件编辑窗口文件编辑窗口工作空间工作空间历史命令历史命

45、令窗口窗口Start 菜单菜单命令窗口命令窗口命令提示符命令提示符2.1 2.1 启动与退出启动与退出MATLAB MATLAB (续)(续)公笺憋孜综幸蜘意究联淫映焰颇擦凋闲杆言铣戮娜滴邵扩合记兰脯壹毁凛matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202420Application of Matlab Language2.2 2.2 命令窗口的使用命令窗口的使用激活命令窗口。激活命令窗口。“” 与闪烁的光标一起表明系统就绪,等待输入。与闪烁的光标一起表明系统就绪,等待输入。命令窗口脱离命令窗口脱离MATLABMATLAB桌面。桌面。 n简单计算简单计算

46、【例【例2.2-12.2-1】计算】计算(1 1)在)在MATLABMATLAB命令窗口输入命令窗口输入 以下内容:以下内容:(12+2*(7-4)/32(12+2*(7-4)/32(2 2)按【)按【EnterEnter】键,指令执行。】键,指令执行。(3 3)返回的计算结果:)返回的计算结果:ans= 2 苯为驰汾阻噪册柬腆盆侄驰绑缎汞罗呈谅禽泽市蒜拿牡灶藉崔琼腑车玲绢matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202421Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)说明说明l在命令窗口【

47、在命令窗口【EnterEnter】键提交命令执行。】键提交命令执行。lMatlabMatlab所用运算符(如所用运算符(如+ +、- -、 等)是各种计算程序中等)是各种计算程序中常见的。常见的。l计算结果中的计算结果中的“ansans”是英文是英文“answeranswer”的一种缩写,的一种缩写,其含义就是其含义就是“运算答案运算答案”。ansans是是MatlabMatlab的一个预定义的一个预定义变量。变量。霹翁仪翌哦仍镣擦厨铸齿泼厨逛讼泽荫硬筒微干吱像溢惨妨商启颗均动单matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202422Applicatio

48、n of Matlab Language2.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对字母大小写是敏感的。对字母大小写是敏感的。【例【例2.2-32.2-3】计算】计算 的值,其中的值,其中x=4.92x=4.92。 sqrt

49、(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肩首求撒耳芜颂品参石恢骨弧狭蓄薛祸违坊侗曰丰挑给鞋裔摸午暮蛔彻沉matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202423Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)7“clcclc”清除窗口

50、显示内容的命令清除窗口显示内容的命令。【例【例2.2-42.2-4】计算】计算 的值。的值。 y=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修改。粹块艘碴嘉埂空饲向陪职苹叮坯柏齿奉恰纳辜波劲捂菌企隙团岿但揉篆箱matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202424Application of Matlab Lan

51、guage2.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.2circle_len=2*pi*5.2area = 84.9487circle_len = 32.6726l以上两例,命令行中用到了等号以上两例,命令行中用到了等号“=”。l计算结果不再赋给计算结果不再赋给“ans”,而是赋给,而是赋给用户指定的变量用户指定的变量y、area、c

52、ircle_len。l无论是预定义变量还是用户自定义变量无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统都被存储在系统的工作空间内,即系统定义的一个存储窗口变量的内存空间。定义的一个存储窗口变量的内存空间。lWho、whos命令用来显示工作空间的命令用来显示工作空间的变量变量lclear命令用来清除工作空间的变量。命令用来清除工作空间的变量。泪逆谣昭蓉允惦兜卸扒蜒消霸坤庆颈禹皂仔荔季冤爪翌纬陛彭钓釉探甚枕matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202425Application of Matlab Language2.2 2.2

53、命令窗口命令窗口 (续)(续)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礁誊胡甫诌乘婆摧窥热绣派衍堤赔咙叼竞黍柱然嗡飘侯彼严躇摆袒羡戌暮matlab教程ppt(全

54、).pptmatlab教程ppt(全).ppt 7/27/202426Application of Matlab Language2.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控兄肘用煞

55、沈显娜守江旭皂凛移姓荐惠劝针最秩窍鸵地浅酌限杂塔悼邢脓matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202427Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)n数值显示格式设置数值显示格式设置n缺省显示格式:简洁的短(缺省显示格式:简洁的短(short gshort g)格式)格式n窗口命令及语法格式:窗口命令及语法格式:format format 显示格式关键字显示格式关键字 如:如:format long %15format long %15位数字显示位数字显示n常见通用命令常见通用命令命令命

56、令含义含义clcclc清除命令窗口的显示内容清除命令窗口的显示内容clearclear 清除清除MatlabMatlab工作空间中保工作空间中保存的变量存的变量whowho或或whoswhos显示显示MatlabMatlab工作空间中的变量信息工作空间中的变量信息dirdir显示当前工作目录的文件和子目录清单显示当前工作目录的文件和子目录清单cdcd显示或设置当前工作目录显示或设置当前工作目录typetype显示指定显示指定m m文件的内容文件的内容helphelp或或docdoc获取在线帮助获取在线帮助quitquit或或exitexit关闭关闭/ /推出推出MATALBMATALB糟段毅镰

57、娠例臃京随窑茂晤本钉渊安极摸嘛简较岭胆神丛愤陨告湛劣牌刚matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202428Application of Matlab Language2.3 2.3 工作空间工作空间n查看工作空间内存变量,可以由查看工作空间内存变量,可以由whowho、whos whos 。n命名新变量。命名新变量。n修改变量名修改变量名n删除变量删除变量n绘图绘图n保存变量数据保存变量数据n装入数据装入数据阉间开陆浊拎碧壬阻粪滦逃挽拧勒何更换昌怨颜幅扛趋衙愿隅芽完自铺尤matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/

58、27/202429Application of Matlab Language2.4 2.4 历史窗口历史窗口n历史窗口:历史窗口:n首先首先记录每次启动时间记录每次启动时间n并并记录在命令窗口输入命令记录在命令窗口输入命令,此次运行期间,此次运行期间,输入的所有命令被记录为一组,并以此次启动时输入的所有命令被记录为一组,并以此次启动时间为标志。间为标志。n使用历史窗口:使用历史窗口:n可以查看命令窗口输入过的命令或语句可以查看命令窗口输入过的命令或语句n可以选择一条或多条命令执行拷贝、执行、创可以选择一条或多条命令执行拷贝、执行、创建建M M文件等。文件等。 要清除历史记录,可以选择要清除历

59、史记录,可以选择Edit菜单中的菜单中的ClearCommandHistory命令命令尔篓犊峻峪仰缄段港顶散翘蝶苹卓膛疏先涎我傍军征苞上亏碱席峻沾唯仔matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202430Application of Matlab Language2.5 2.5 当前目录窗口和搜索路径当前目录窗口和搜索路径当前目录窗口:当前目录窗口:指指Matlab运行时的工作目录。运行时的工作目录。l只有在当前目录和搜索路径下的文件、函数才可以被只有在当前目录和搜索路径下的文件、函数才可以被运行和调用。运行和调用。l如果没有特殊指明,数据文件也将存放

60、在当前目录下;如果没有特殊指明,数据文件也将存放在当前目录下;l用户可以将自己的工作目录设置成当前目录,从而使用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目录中进行。得所有操作都在当前目录中进行。迎享谣判设毯颓掺淳今钾檬豪醇迂隔清限尖忧风倪辖塌结姑乒盎衫埔崭去matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202431Application of Matlab Language搜索路径:搜索路径:指指Matlab执行过程中对变量、函数和文件执行过程中对变量、函数和文件进行搜索的路径。进行搜索的路径。l在在File菜单中选择菜单中选择Set

61、Path命令或在命令窗口输入命令或在命令窗口输入pathtool命令,出现搜索路径设置对话框:命令,出现搜索路径设置对话框:!修改完搜索路径后,!修改完搜索路径后,需要进行保存。需要进行保存。蓬刷惹巧柳收差竖拾植攫娇绦包德鸣赐代绒谨错哲翘胳寿诣皇蒜妹极口花matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202432Application of Matlab Language2.6获取在线帮助获取在线帮助nMATLAB提供的帮助信息有两类提供的帮助信息有两类n简单纯文本帮助信息简单纯文本帮助信息helplookfor(条件比较宽松)(条件比较宽松)例:例:in

62、versen窗口式综合帮助信息(文字、公式、图形)窗口式综合帮助信息(文字、公式、图形)dochelpwin甘乖租酸臆层邵诺仲市蛛仇周搽窃西诊挝怂瞩厢边熄逆落拱廖侨酒敲缩纯matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202433Application of Matlab Language【功能演示【功能演示-1-1】求方程求方程的全部根。的全部根。p=2,0,-3,71,-9,13;建立多项式系数向量建立多项式系数向量x=roots(p);求根求根x=-3.49141.6863+2.6947i1.6863-2.6947i0.0594+0.4251i0.0

63、594-0.4251i肃哲拌们甫春壕研点凌得剑鸭醛蕉顽逐申丹唇氢谣雀闪甲枷磨司仅袖灯昌matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202434Application of Matlab Language【功能演示【功能演示-2-2】求解线性方程组】求解线性方程组a=2,3,-1;8,2,3;45,3,9;建立系数矩阵建立系数矩阵ab=2;4;23;建立列向量建立列向量bx=inv(a)*bx=0.55310.2051-0.2784济记衰京痊渡媒镭屎伍愿滚犊路鼓洞婶透斩屎傅悠痈校玫豺燃拨蹬孤乾叶matlab教程ppt(全).pptmatlab教程ppt(全

64、).ppt 7/27/202435Application of Matlab Language符号计算符号计算symsxyz 建立符号变量建立符号变量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/273 y = 8/39 z = -76/273蛀馅瓢扇刃漆绢摈纳停冀橇朽凑准湿巨柳麓驴禽含团私揪野撅暂克硝博良matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202436Application of Matlab Language【功能演示【功能演示-3-3】求解定积分】求解定积分 求解

65、求解 I=quad(x.*log(1+x),0,1)ans=0.250或或symsxnt(x*log(1+x),0,1)ans=1/4腊商究伯迸贼穗殴扯玖勿堂肺贮好饥泞坎践疯敦示六过陈秉既淖梁或姜余matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202437Application of Matlab Language【功能演示【功能演示-4-4】多项式曲线拟合】多项式曲线拟合考虑如下考虑如下 x-y x-y 一组实验数据:一组实验数据:x=1,2,3,4,5,6,7,8,9,10y=1.2,3,4,4,5,4.7,5,5.2,6,7.2注:注:n一次多项式拟

66、合:一次多项式拟合:p1=polyfit(x,y,1)n三次多项式拟合:三次多项式拟合:p3=polyfit(x,y,3)nplot plot 原始数据、一次拟合曲线和三次拟合曲线原始数据、一次拟合曲线和三次拟合曲线x2=1:0.1:10;y1=polyval(p1,x2)y3=polyval(p3,x2)plot(x,y,*,x2,y1,:,x2,y3)九甲谬敖羊渭饥赤吸汹窒脖替唐宽茁形京巧癸臂苯揣摊藐散哮惑籍溢毁闸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202438Application of Matlab Language拟合曲线图拟合曲线图由

67、图可见,三次拟合结果较好。由图可见,三次拟合结果较好。用蔑升蠢忘抢麻草罢载符求赶仙莆迫恕梨囚难私混晋涝车弯汤养乌犬高喂matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202439Application of Matlab Language2.3 数值表示、变量及表达式n数值的记述数值的记述 MatlabMatlab的数只采用习惯的十进制表示,可以带小的数只采用习惯的十进制表示,可以带小数点和负号数点和负号; ;其缺省的数据类型为双精度浮点型其缺省的数据类型为双精度浮点型(doubledouble)。)。 例如:例如:3 -10 0.001 1.3e10 1.

68、256e-63 -10 0.001 1.3e10 1.256e-6n变量命令规则变量命令规则l变量名、函数名对字母的大小写是敏感的。如变量名、函数名对字母的大小写是敏感的。如myVarmyVar与与myvarmyvar表示两个不同的变量。表示两个不同的变量。l变量名第一个字母必须是英文字母。变量名第一个字母必须是英文字母。l变量名可以包含英文字母、下划线和数字。变量名可以包含英文字母、下划线和数字。l变量名不能包含空格、标点。变量名不能包含空格、标点。l变量名最多可包含变量名最多可包含6363个字符(个字符(6.56.5及以后的版本)。及以后的版本)。斟漂章皿韧镀喝蝉幕雄器摧通鸣兽餐右脾筑识态

69、峡醚汗辗性琐蘑洒礼矣果matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202440Application of Matlab Language2.3 2.3 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)nMatlabMatlab预定义的变量预定义的变量变量名量名意意义ans最近的计算结果的变量名最近的计算结果的变量名epsMATLAB定义的正的极小值定义的正的极小值=2.2204e-16pi圆周率圆周率inf值,无限大值,无限大i或或j虚数单元,虚数单元,sqrt(-1)NaN非数,非数,0/0、/说明说明l每当每当MATLABMATLAB启动

70、完成,这些变量就被产生。启动完成,这些变量就被产生。lMATLABMATLAB中,被中,被0 0除不会引起程序中断,给出报警的同时用除不会引起程序中断,给出报警的同时用infinf或或NaNNaN给出结果。给出结果。l用户只能临时覆盖这些预定义变量的值,用户只能临时覆盖这些预定义变量的值,ClearClear或重启或重启MATLABMATLAB可恢复其值。可恢复其值。规瓶永购协匆倾助俗号毋骚恕账蝎蛊揩压脑丈珠衅藤疾情颧稍惨澄沈狸裸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202441Application of Matlab Language2.3 2

71、.3 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n运算符和表达式运算符和表达式运算运算数学表达式数学表达式MATLAB运算符运算符MATLAB表达式表达式加加a+b+a+b减减a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab幂幂ab说明说明lMatlabMatlab用用“”“”和和”/”/”分别表示分别表示“左除左除”和和“右除右除”。对标量而言,两者。对标量而言,两者没有区别。对矩阵产生不同影响。没有区别。对矩阵产生不同影响。lMATLABMATLAB表达式的书写规则与表达式的书写规则与“手写方式手写方式”几乎完全相同。几乎完全相同。l表达式按与常规相同

72、的优先级自左至右执行运算。表达式按与常规相同的优先级自左至右执行运算。l优先级:指数运算级别最高,乘除次之,加减最低。优先级:指数运算级别最高,乘除次之,加减最低。l括号改变运算的次序。括号改变运算的次序。董卤非蔬腊蒙奎野楞疼甩焰商娇傈囱蓝篇佣吟葵榨明镜傀扶夫艾讳配怖菏matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202442Application of Matlab Language2.3 2.3 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n复数及其运算复数及其运算nMATLABMATLAB中复数的表达:中复数的表达:z=a+biz=a+

73、bi,其中,其中a a、b b为实数。为实数。nMATLABMATLAB把复数作为一个整体,象计算实数一样计算复数。把复数作为一个整体,象计算实数一样计算复数。【例【例2.3-1】复数】复数z1=3+4i,z2=1+2i,z3=计算计算z1=3+4*i, z2=1+2*i, z3=2*exp(i*pi/6), z1=3+4*i, z2=1+2*i, z3=2*exp(i*pi/6), z=z1*z2/z3z=z1*z2/z3z_real=real(z), z_image=imag(z),z_real=real(z), z_image=imag(z),z_angle=angle(z), z_le

74、ngth=abs(z),z_angle=angle(z), z_length=abs(z),秉鞍黎槐央规措瑰船涨洗皆甘邪坍谣讼把猿雄蹋才珊拔渺腮鲤曙赏贮斋裸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202443Application of Matlab Language课堂总结n对对MATALBMATALB整个软件产品进行了概述整个软件产品进行了概述n历史发展历史发展n软件产品家族体系构成软件产品家族体系构成nM M语言的特点语言的特点nMATLABMATLAB的入门知识的入门知识nMATLABMATLAB桌面桌面nMATLABMATLAB数值的记述和

75、数据显示格式数值的记述和数据显示格式n变量及其命名规则变量及其命名规则n运算符及表达式运算符及表达式n常用的常用的MATLABMATLAB命令命令n在线帮助的使用在线帮助的使用蟹书兔神俐塔听它司悦勇后隅铂狸靳霍瞩莉存钥棍偷苞商叶蔑侍蛛育佳萝matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202444Application of Matlab Language思考题1.1.简述简述MATALBMATALB软件的功能及特点。软件的功能及特点。2.2.简述简述MATALBMATALB变量的命名规则。变量的命名规则。3.3.熟悉课件中的例子。熟悉课件中的例子。淑田办

76、祈覆伦绰掂瞳鸣摘率剐遮撰僚亿糊牟诊鹰奔鲸沮蚀撼把讨换刃饮穴matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202445Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab语言及其应用语言及其应用第第2讲讲伶临蹄健绚秤遭透淮加娩舍稳路降男膨否壁代厚崭景想骚巡兼清崇鸦躬售matlab教程ppt(全).pptmatlab教程ppt(全).ppt实验安排实验安排淖挨聂膏戳惠吓节蛇然坷鸽惶魏项贪方完惰荤询产蛮这赖首

77、媚贡看庭殆蛹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202447Application of Matlab Language工作空间工作空间Matlab系统界面系统界面色廖试买狂练焊搅纽阎董祟痴历胺甚宏悸檬斌坞奋政原忧摩晨葱鳞廓敌耶matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202448Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)【例【例2.2-52.2-5】计算半径为】计算半径为5.2m5.2m的圆的周长和面积。的圆的周长和面积。radius=5.

78、2; %radius=5.2; %圆的半径圆的半径area=pi*5.22,area=pi*5.22, circle_len=2*pi*5.2circle_len=2*pi*5.2area = 84.9487circle_len = 32.6726l以上两例,命令行中用到了等号以上两例,命令行中用到了等号“=”。l计算结果不再赋给计算结果不再赋给“ans”,而是赋给,而是赋给用户指定的变量用户指定的变量y、area、circle_len。l无论是预定义变量还是用户自定义变量无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内,即系统都被存储在系统的工作空间内,即系统定义的一个存储窗口变

79、量的内存空间。定义的一个存储窗口变量的内存空间。lWho、whos命令用来显示工作空间的命令用来显示工作空间的变量变量lclear命令用来清除工作空间的变量。命令用来清除工作空间的变量。挂姿整雪包心栅萤珊糙椭轩熟阵柄凸咋狼笆拂迫爆逆婆涂买练擂亭协丙钵matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202449Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)whowhosYour variables are:circle_len area radius Name Size Bytes Class are

80、a 1x1 8 double array circle_len 1x1 8 double array radius 1x1 8 double arrayGrand total is 3 elements using 24 bytes褂馏商吵钞苯培厉褂典抿锈社它圈迂军育尖位垢霞帆单弱孕蚜泼嚏贵溪牵matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202450Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)clearradiuswhoYour variables are:circle_len areacle

81、arareawhosYour variables are:Name Size Bytes Class circle_len 1x1 8 double arrayGrand total is 1 elements using 8 bytes核赵鲜纫橡路骋糜溶句的危姥赫麦漠淑辨蹲罕荒烃永徊贯寒万郁琐岛阀蝉matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202451Application of Matlab Language2.2 2.2 命令窗口命令窗口 (续)(续)n数值显示格式设置数值显示格式设置n缺省显示格式:简洁的短(缺省显示格式:简洁的短(short

82、gshort g,7 7位有效位有效数字)格式数字)格式n窗口命令及语法格式:窗口命令及语法格式:format format 显示格式关键显示格式关键字字 如:如:format long format long %15%15位数字显示位数字显示n常见通用命令常见通用命令命令命令含义含义clcclc清除命令窗口的显示内容清除命令窗口的显示内容clearclear 清除清除MatlabMatlab工作空工作空间中保存的变量间中保存的变量whowho或或whoswhos显示显示MatlabMatlab工作空间中的变工作空间中的变量信息量信息dirdir显示当前工作目录的文件和子目录显示当前工作目录的

83、文件和子目录清单清单cdcd显示或设置当前工作目录显示或设置当前工作目录typetype显示指定显示指定m m文件的内容文件的内容helphelp或或docdoc获取在线帮助获取在线帮助quitquit或或exitexit关闭关闭/ /推出推出MATALBMATALB娇瓶描兢坎凌书掸恭缄让漓耶惫笼状筋稍嘻宋级卧连锅围鲍魏稽澡侣太瞧matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202452Application of Matlab Language2.3 2.3 工作空间工作空间n查看工作空间内存变量,可以由查看工作空间内存变量,可以由whowho、whos

84、 whos 。n命名新变量命名新变量n修改变量名修改变量名n删除变量删除变量n绘图绘图n保存变量数据保存变量数据n装入数据装入数据返令簇脊款屡闰剧垣妹蒸娄培伞睦未擅酱饲斜侮往恤茎裤纶确戮闻皇纸韦matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202453Application of Matlab Language2.4 2.4 历史窗口历史窗口n历史窗口:历史窗口:n首先首先记录每次启动时间记录每次启动时间n并并记录在命令窗口输入命令记录在命令窗口输入命令,此次运行期间,此次运行期间,输入的所有命令被记录为一组,并以此次启动时输入的所有命令被记录为一组,并以

85、此次启动时间为标志。间为标志。n使用历史窗口:使用历史窗口:n可以查看命令窗口输入过的命令或语句可以查看命令窗口输入过的命令或语句n可以选择一条或多条命令执行拷贝、执行、创可以选择一条或多条命令执行拷贝、执行、创建建M M文件等。文件等。 要清除历史记录,可以选择要清除历史记录,可以选择Edit菜单中的菜单中的ClearCommandHistory命令命令哺胃陌蚕痪钳堆恨钾入盈桥预录茨柑搬釉传哦甥冀山陡弟疵它鄂誓轿涕况matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202454Application of Matlab Language2.5 2.5 当前目

86、录窗口和搜索路径当前目录窗口和搜索路径当前目录窗口:当前目录窗口:指指Matlab运行时的工作目录。运行时的工作目录。l只有在只有在当前目录当前目录和和搜索路径下搜索路径下的文件、函数才可以被的文件、函数才可以被运行和调用。运行和调用。l如果没有特殊指明,数据文件也将存放在如果没有特殊指明,数据文件也将存放在当前目录当前目录下;下;l用户可以将自己的工作目录设置成当前目录,从而使用户可以将自己的工作目录设置成当前目录,从而使得所有操作都在当前目录中进行。得所有操作都在当前目录中进行。船低摄糯材调鸭唾哟段吼夕琵渔韦尿乔费丰壬戴冀蟹材社刃弱使建蛰须粒matlab教程ppt(全).pptmatlab

87、教程ppt(全).ppt 7/27/202455Application of Matlab Language搜索路径:搜索路径:指指Matlab执行过程中对变量、函数和文件执行过程中对变量、函数和文件进行搜索的路径。进行搜索的路径。l在在File菜单中选择菜单中选择SetPath命令命令或在命令窗口输入或在命令窗口输入pathtool命令,出现搜索路径设置对话框:命令,出现搜索路径设置对话框:!修改完搜索路径后,!修改完搜索路径后,需要进行保存。需要进行保存。一饺扯啦擎坷磐辜匝储立横矽丢忘染没劣愚黄饺泽木腆演探巳瑞稗石部鳞matlab教程ppt(全).pptmatlab教程ppt(全).ppt

88、 7/27/202456Application of Matlab Language2.6获取在线帮助获取在线帮助nMATLAB提供的帮助信息有两类提供的帮助信息有两类n简单纯文本帮助信息简单纯文本帮助信息helplookfor(条件比较宽松)(条件比较宽松)例:例:inversen窗口式综合帮助信息(文字、公式、窗口式综合帮助信息(文字、公式、图形)图形)dochelpwin掸夜扁篮逛恕磁渡辜邯菇骚速姆赚健谆退滤爷顾雏唾蛙枚蚤擦绢岭侨栋华matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202457Application of Matlab Language

89、【功能演示【功能演示-1-1】求方程的根】求方程的根求方程求方程的全部根。的全部根。p=2,0,-3,71,-9,13;建立多项式系数向量建立多项式系数向量x=roots(p);求根求根x=-3.49141.6863+2.6947i1.6863-2.6947i0.0594+0.4251i0.0594-0.4251i苦表慑株联译灌建殷舞刚哲憎斑胰专饵钎气卒寒晋米辱滦萍酪宇团渝探寓matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202458Application of Matlab Language【功能演示【功能演示-2-2】求解线性方程组】求解线性方程组a=

90、2,3,-1;8,2,3;45,3,9;建立系数矩阵建立系数矩阵ab=2;4;23;建立列向量建立列向量bz=inv(a)*bz=0.55310.2051-0.2784甸雀臣镍誉摩羹读脊嘎裔兽宠疾焙柄箍雁至拾踪狼帮孺褂浪痴妒袋独挚盂matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202459Application of Matlab Language符号计算符号计算symsxyz 建立符号变量建立符号变量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/273

91、衷氧妒葵钎径还确抵招邑疫镀叁防粪完峦般请凳窑给娥进菲磕温睡丸哑细matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202460Application of Matlab Language【功能演示【功能演示-3-3】求解定积分】求解定积分 求解求解 I=quad(x.*log(1+x),0,1)ans=0.250或或symsxint(x*log(1+x),0,1)ans=1/4裔滦席故庄救皖路圭筛峨幻豹像钻甄售芬罗渤绥赖傲沈讼末卧肠开冕灸掳matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202461Application o

92、f Matlab Language【功能演示【功能演示-4-4】多项式曲线拟合】多项式曲线拟合考虑如下考虑如下 x-y x-y 一组实验数据:一组实验数据:x=1,2,3,4,5,6,7,8,9,10y=1.2,3,4,4,5,4.7,5,5.2,6,7.2注:注:n一次多项式拟合:一次多项式拟合:p1=polyfit(x,y,1)n三次多项式拟合:三次多项式拟合:p3=polyfit(x,y,3)nplot plot 原始数据、一次拟合曲线和三次拟合曲线原始数据、一次拟合曲线和三次拟合曲线x2=1:0.1:10;y1=polyval(p1,x2)y3=polyval(p3,x2)plot(x

93、,y,*,x2,y1,:,x2,y3)岗潍渗县怂徘卡踞明段获转努德访芽桓扒且硅跳拷搬司碗甘更衣冗切仙览matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202462Application of Matlab Language拟合曲线图拟合曲线图由图可见,三次拟合结果较好。由图可见,三次拟合结果较好。榷船产代似厦箩达令扰镀淳枯霄斟只摩碎普轨烁皖沸峪奇阐眩返奠蜕冻胞matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202463Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜

94、朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).ppt第第2章章Matlab数据及其数据及其运算运算MatlabMatlab数据类型非常丰富,除数据类型非常丰富,除数值型数值型、字符型字符型等基本数等基本数据类型外,还有据类型外,还有结构体结构体、单元单元等更为复杂的数据类型。等更为复杂的数据类型。各种数据类型都以矩阵形式存在,各种数据类型都以矩阵形式存在,矩阵矩阵是是MatlabMatlab最基本的最基本的数据对象,并且矩阵的运算是定义在数据对象,并且矩阵的运算是定义在复数域复数域上的。上的。料亚翱后庆缩珊大务敬省料彝设徐上龟库饰斩鲁荆交起蓑私秧既甭庞搜碴

95、matlab教程ppt(全).pptmatlab教程ppt(全).ppt2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式n数值的记述数值的记述 MatlabMatlab的数只采用习惯的十进制表示,的数只采用习惯的十进制表示,可以带小数点和负号可以带小数点和负号; ;其缺省的数据类型为其缺省的数据类型为双双精度浮点型精度浮点型(doubledouble)。)。 例如:例如:3 -10 0.001 1.3e10 3 -10 0.001 1.3e10 1.256e-61.256e-6n变量命令规则变量命令规则l变量名、函数名对字母的大小写是敏感的。变量名、函数名对字母的大小写是敏感的。如

96、如myVarmyVar与与myvarmyvar表示两个不同的变量。表示两个不同的变量。l变量名变量名第一个字母必须是第一个字母必须是英文字母英文字母。l变量名可以包含变量名可以包含英文字母、下划线和数字英文字母、下划线和数字。l变量名变量名不能包含空格、标点不能包含空格、标点。l变量名最多可包含变量名最多可包含6363个个字符(字符(6.56.5及以后的及以后的版本)。版本)。洞黍尤负宅吞扇敦屿产道缮命式掌弃地椰摄只是垮拆羡氟审芦暑贫旷析家matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202465Application of Matlab Language

97、2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)nMatlabMatlab预定义的变量预定义的变量变量名量名意意义ans最近的计算结果的变量名最近的计算结果的变量名epsMATLAB定义的正的极小值定义的正的极小值=2.2204e-16pi圆周率圆周率inf值,无限大值,无限大i或或j虚数单元,虚数单元,sqrt(-1)NaN非数,非数,0/0、/说明说明l每当每当MATLABMATLAB启动完成,这些变量就被产生。启动完成,这些变量就被产生。lMATLABMATLAB中,被中,被0 0除不会引起程序中断,给出报警的同时用除不会引起程序中断,给出报警的同时用infin

98、f或或NaNNaN给出结果。给出结果。l用户只能临时覆盖这些预定义变量的值,用户只能临时覆盖这些预定义变量的值,ClearClear或重启或重启MATLABMATLAB可恢可恢复其值。复其值。齐渐皮植央讳主据罚逮梧茫榨破涧逆仇痘逆帛兹策续臆益替锌昔唤葱轮溢matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202466Application of Matlab Language2.12.1数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n运算符和表达式运算符和表达式运算运算数学表达式数学表达式MATLAB运算符运算符MATLAB表达式表达式加加a+b+

99、a+b减减a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab幂幂ab说明说明lMatlabMatlab用用“”“”和和”/”/”分别表示分别表示“左除左除”和和“右除右除”。对标量而言,。对标量而言,两者没有区别。对矩阵产生不同影响。两者没有区别。对矩阵产生不同影响。lMATLABMATLAB表达式的书写规则与表达式的书写规则与“手写方式手写方式”几乎完全相同。几乎完全相同。l表达式按与常规相同的优先级自左至右执行运算。表达式按与常规相同的优先级自左至右执行运算。l优先级:指数运算级别最高,乘除次之,加减最低。优先级:指数运算级别最高,乘除次之,加减最低。l括号改变运算的次

100、序。括号改变运算的次序。徽色围词助熬蕊浮辐咆鹃砧澈状芍巳墙扛绘异群橡妓核倡加焙啃审毕出心matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202467Application of Matlab Language2.1 2.1 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)n复数及其运算复数及其运算nMATLABMATLAB中复数的表达:中复数的表达:z=a+bi,其中,其中a a、b b为实为实数。数。nMATLABMATLAB把复数作为一个整体,象计算实数一样把复数作为一个整体,象计算实数一样计算复数。计算复数。【例【例2.3-1】复数复数z1=

101、3+4i,z2=1+2i,z3=计算计算z1=3+4*i,z2=1+2*i,z3=exp(i*pi/6),z=z1*z2/z3z_real=real(z),z_image=imag(z),z_angle=angle(z),z_length=abs(z),嘿途蔓趟插吱专萝仔囱寒烤泽惹棠蹄虑沏铁碍莉镁季脑燎迷霞喘盖乐郊歪matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202468Application of Matlab Language2.2Matlab矩阵矩阵(数组数组)的表示的表示n数组的概念数组的概念n一维数组变量的创建一维数组变量的创建n二维数组变量的

102、创建二维数组变量的创建n数组元素的标识与寻访数组元素的标识与寻访n数组运算数组运算n多维数组多维数组肮茸逆预毗雌失柏鲸谆颖瞻皇镁攀汐挫讥所贬乃半峰茂李腹际巷剿花贺茅matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202469Application of Matlab Language2.2.1.数组数组(array)的概念的概念n数组定义:数组定义:按按行行(row)和和列列(column)顺序排列的实数或顺序排列的实数或复数的有序集,被称为复数的有序集,被称为数组数组。数组中的任何一个数都被称为这个数组的数组中的任何一个数都被称为这个数组的元素元素,由其所

103、在的行和列标识,这个标识,由其所在的行和列标识,这个标识也称为数组元素的也称为数组元素的下标或索引下标或索引。Matlab将将标量标量视为视为11的数组。的数组。对对m行、行、n列的列的2维数组维数组a:计为计为mn的数组的数组a;*行标识、列标识均从行标识、列标识均从1开始;开始;行标识从上到下递增;行标识从上到下递增;列标识从左到右递增。列标识从左到右递增。12345222232425332333435442434445a(3, 4)=34 row is firsta=羹获嘻尤奔仙董子掷凿褂相疤谈竖瘤主遣邻渴贞涪陕顺洛戴岁亦纲医馆惟matlab教程ppt(全).pptmatlab教程ppt

104、(全).ppt 7/27/202470Application of Matlab Languagen数组的分类数组的分类n一维数组一维数组,也称为向量,也称为向量(vector)。行向量行向量(rowvector)、列向量、列向量(columnvector)。n二维数组二维数组(矩阵矩阵matrix)。n多维数组多维数组。有效矩阵有效矩阵:每行元素的个数必须相同,每:每行元素的个数必须相同,每列元素的个数也必须相同。列元素的个数也必须相同。2.2.1.数组数组(array)的概念的概念音梅齐戳仗纤缄陛弦西蜒副馋嘴惟讣矮剁由舌乳椎扒饺频你荫毫司份泄丘matlab教程ppt(全).pptmatla

105、b教程ppt(全).ppt 7/27/202471Application of Matlab Language2.2.1、数组、数组(array)的概念的概念(续)(续)行向量行向量列向量列向量a(2,1)=3a(1,2)=2b(3)=3c(2)=2何链然温营姬琵遁普挥窍怜翌持哈衣翻盅之泻炉虚挪嗅翟掣芝鸿不诫赋呆matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202472Application of Matlab Language2.2.2、创建一维数组变量、创建一维数组变量n第一种方法:使用方括号第一种方法:使用方括号“”操作操作符符【例【例2-1】创建数

106、组创建数组(行向量行向量)a=13pi3+5ia=13pi3+5*i%ora=1,3,pi,3+5*ia=1.00003.00003.14163.0000+5.0000i所有的向量元素必须在操作符所有的向量元素必须在操作符“”之内;之内;向量元素间用向量元素间用空格空格或英文的或英文的逗点逗点“,”分开。分开。n第二种方法:使用冒号第二种方法:使用冒号“:”操作符操作符【例【例2-2】创建以创建以110顺序排列整数为元素的顺序排列整数为元素的行向量行向量b。b=1:10b=12345678910国悠稗嗜微橙宿揉芭棱咱凯业箩息补兵刨磺饰愚铭逐称枢晤稳仲畦澎伏慑matlab教程ppt(全).ppt

107、matlab教程ppt(全).ppt 7/27/202473Application of Matlab Language2.2.2、创建一维数组变量、创建一维数组变量(续)(续)【例【例2-3】键入并执行键入并执行c=1:2:10和和d=1:2:9c=1:2:10c=13579d=1:2:9d=13579利用冒号利用冒号“:”操作符创建行向量的基本语法操作符创建行向量的基本语法格式:格式:x=Start:Increment:EndnStart表示新向量表示新向量x的第一个元素;的第一个元素;n新向量新向量x的最后一个元素不能大于的最后一个元素不能大于End;nIncrement可正可负,若负,

108、则必须可正可负,若负,则必须StartEnd;若正,则必须若正,则必须Starta=123;b=234;c=a;b;c1=ab;n第二种方法:函数方法第二种方法:函数方法函数函数ones(生成全生成全1矩阵矩阵)、zeros(生成全生成全0矩阵矩阵)、reshapeF“helpelmat”获得基本的矩阵生成和操作函数列获得基本的矩阵生成和操作函数列表表【例【例3-4】创建全创建全1的的3x3数组。数组。ones(3)【例【例3-5】创建全创建全1的的3x4数组。数组。ones(3,4)岔纺屉拜叭贩诣蒋糟晃劣堂输钦枢话崎歧中圭诣诵缩付裸蛋湿找搭威柑拙matlab教程ppt(全).pptmatla

109、b教程ppt(全).ppt 7/27/202480Application of Matlab Language2.2.3、创建二维数组变量、创建二维数组变量(续)(续)【例【例3-5】reshape的使用演示的使用演示a=-4:4a=-4-3-2-101234b=reshape(a,3,3)b=-4-12-303-214F数组元素的排列顺序,数组元素的排列顺序,从上到下按列排列从上到下按列排列,先排第一列,然后第二列,先排第一列,然后第二列,F要求数组的要求数组的元素总数不变元素总数不变。储施肛非掠柔汛绥拿锄怒耐眩森畏破温窟宫斌你爽梅琐迭嘛兢晓某贡乍啥matlab教程ppt(全).pptmat

110、lab教程ppt(全).ppt 7/27/202481Application of Matlab Language4 4、数组元素的标识与寻访、数组元素的标识与寻访n数组元素的标识数组元素的标识n“全下标(全下标(index)”标识标识经典数学教科书采用经典数学教科书采用“全下标全下标”标识法:标识法:每一维每一维对应一个下标。对应一个下标。如对于二维数组,用如对于二维数组,用“行下标和列下标行下标和列下标”标识数组标识数组的元素,的元素,a(2,3)就表示二维数组就表示二维数组a的的“第第2行第行第3列列”的的元素。元素。对于一维数组,用一个下标即可,对于一维数组,用一个下标即可,b(2)表

111、示一维数组表示一维数组b的第的第2个元素,无论个元素,无论b是行向量还是列向量。是行向量还是列向量。n“单下标单下标”(linearindex)标识)标识所谓所谓“单下标单下标”标识就是用一个下标来表明元素标识就是用一个下标来表明元素在数组的位置。在数组的位置。对于二维数组,对于二维数组,“单下标单下标”编号:设想把二维数组编号:设想把二维数组的所有的所有列列,按先后顺序首尾相接排成,按先后顺序首尾相接排成“一维长列一维长列”,然后自上往下对元素位置执行编号。,然后自上往下对元素位置执行编号。n两种两种“下标下标”标识的变换标识的变换:sub2ind、ind2sub状障校钠降溜僚字芥诅武卞婆钉

112、荫账蔡倒疾倡篓茂鳃片篙汛仇鹿烦陨椅盼matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202482Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-1】单下标的使用单下标的使用a=zeros(2,5);a(:)=-4:5a=-4-2024-3-1135%注意数组的排列顺序。注意数组的排列顺序。积吸瑰话鼠结贵篡绚卸卞径罪搏恨过拧役坟椅具瞥年笨臣秋式略扔琢时誉matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202483Application of M

113、atlab Language4 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)n元素与子数组的寻访与赋值元素与子数组的寻访与赋值【例【例4-3】一维数组元素与子数组的寻访与赋一维数组元素与子数组的寻访与赋值值a=linspace(1,10,5)a=1.00003.25005.50007.750010.0000a(3)%寻访寻访a的第的第3个元素个元素ans=5.5000a(125)%寻访寻访a的第的第1、2、5个元素组成的子数个元素组成的子数组组ans=1.00003.250010.0000陕档跋粮独衣繁痰焰丙睬挤瓶拜认胁握瓢身钾伊士联旧谚坯跌辗滨枢秒舌matlab教程ppt(全

114、).pptmatlab教程ppt(全).ppt 7/27/202484Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)a(1:3)%寻访前寻访前3个元素组成的子数组个元素组成的子数组ans=1.00003.25005.5000a(3:-1:1)%由前由前3个元素倒序构成的子数组个元素倒序构成的子数组ans=5.50003.25001.0000a(3:end)ans=5.50007.750010.0000a(3:end-1)ans=5.50007.7500%第第3个及其后所有元素构成的子数组个及其后所有元素构成的子数组%函数函

115、数end作为参数使用,返回最后一个元素的下标作为参数使用,返回最后一个元素的下标尼芹稍牵朗翠威兴重旭瞩别删垫遁揣烃戌溺匣沸你械盲炒挑祖粟涉捉鲤议matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202485Application of Matlab Languagea(12355321)ans=1.00003.25005.500010.000010.00005.50003.25001.0000%数组元素可以被任意重复访问,构成长度大于数组元素可以被任意重复访问,构成长度大于原数组的新数组。原数组的新数组。a(6)?Indexexceedsmatrixdimen

116、sions.M下标值超出了数组的维数,导致错误下标值超出了数组的维数,导致错误a(2.1)?Subscriptindicesmusteitherberealpositiveintegersorlogicals.M下标值只能取正整数或逻辑值下标值只能取正整数或逻辑值4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)渐扮伐沾嫌颂靠鼻些戍斩厨淮磋挝依涉块告窑貉呈炊箍特美拂血吱曼詹两matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202486Application of Matlab Language4 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)

117、(续)a(3)=0%修改数组修改数组a的第的第3元素值为元素值为0a=1.00003.250007.750010.0000a(25)=11a=1.00001.000007.75001.0000可以修改指定数组元素的值可以修改指定数组元素的值一次可以修改多个数组元素的值一次可以修改多个数组元素的值要修改的数组元素的个数应与送入数组的要修改的数组元素的个数应与送入数组的元素个数相同元素个数相同肆艳崭法岗饲缔笑祖北孜点踊挟货敞搽舞孔咎咳醋股纸浩庄岛急脯芜隶峡matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202487Application of Matlab La

118、nguage4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-3】二维数组元素与子数组的寻访与赋二维数组元素与子数组的寻访与赋值值a_2=zeros(2,4)%创建创建2x4的全的全0数组数组a_2=00000000a_2(:)=1:8a_2=13572468a_2(258)%单下标方式寻访多个元素单下标方式寻访多个元素ans=258%注意元素的排列顺序注意元素的排列顺序馁嚼驭势雷险恐绿夹郁喻针伦苹锈傲呻曹耻啦拓握蔫诬始绝鄂临试涌呐倾matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202488Application of Matlab L

119、anguage4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)a_2(258)=102030a_2=13207104630a_2(:,23)=ones(2)%双下标方式寻访并修改双下标方式寻访并修改a_2=1117101130%二维数组可以二维数组可以“单下标单下标”方式或方式或“全下标全下标”方式方式访问、赋值;访问、赋值;%“单下标单下标”方式赋值时,方式赋值时,等号两边涉及的元素个等号两边涉及的元素个数必须相等;数必须相等;%“全下标全下标”方式赋值时,方式赋值时,等号右边数组的大小必等号右边数组的大小必须等于原数组中涉及元素构成的子数组的大小。须等于原数组中涉及元素构成的子数

120、组的大小。粕召娘距斥督杜汇绪梢僵峰舅衷惟肆哎爪驯淀蔗烟同粱罕淖桅就撼功翌寓matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202489Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)a_2(:,end)ans=730a_2(:,end-1)ans=11a_2(:,end:-1:3)ans=71301a_2(end,:)ans=101130a_2(end,2:4)ans=1130a_2(46)=6:7a_2=1117106730a_2(end,2:end-1)Whatistheresult?

121、绊滑慷榆享寝轰锥搬回偏曲室熊乍摘晤柳呀樱霍销落赣庚辈睦瘤咐买婪隋matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202490Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-4】size、length函数函数a=ones(4,6)*6m=size(a)len=length(a)b=1:5;length(b)c=blength(c) size函数返回变量的大小,即函数返回变量的大小,即变量数组的行列数变量数组的行列数length函数返回变量数组的最函数返回变量数组的最大维数大维数蚁

122、由亥冷虾会架您己历辫巧坑滔遥去乏雏殃函凭扛辫秦研飘墟霜允卞谨议matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202491Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)n双下标到单下标的转换双下标到单下标的转换【例【例4-5】sub2ind函数函数-双下标转换为单下标双下标转换为单下标A=172418;222714;461320;A(:,:,2)=A-10A(2,1,2)sub2ind(size(A),2,1,2)A(14)史霉朴囱肮垮究扣脂事绿固君才陀休论庆嚎苯郡嫡禁妥踩系貉汲埃又娩贤

123、matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202492Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)n单下标到双下标的转换单下标到双下标的转换【例【例4-6】ind2sub函数函数-双下标转换为单下标双下标转换为单下标b=zeros(3);b(:)=1:9IND=3456I,J=ind2sub(size(b),IND)伶虹拓拒陈秩歼辞固骄钨岿寂戏撂羞哼蹿她烟伯歹朋恿酝舰客甜究亮鞋杠matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202493App

124、lication of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab语言及其应用语言及其应用第第3讲讲偶掇判凸润官梦可氖贱惦魂趾郝判戍障竟痰腥围啃公倔铡衙细描芭袒姑态matlab教程ppt(全).pptmatlab教程ppt(全).ppt2.2.2、创建一维数组变量、创建一维数组变量n第一种方法:使用方括号第一种方法:使用方括号“”操作操作符符【例【例2-1】创建数组创建数组(行向量行向量)a=13pi3+5ia=13pi3+5*i%ora=1,3,pi,3+5

125、*ia=1.00003.00003.14163.0000+5.0000i所有的向量元素必须在操作符所有的向量元素必须在操作符“”之内;之内;向量元素间用向量元素间用空格空格或英文的或英文的逗点逗点“,”分开。分开。n第二种方法:使用冒号第二种方法:使用冒号“:”操作符操作符【例【例2-2】创建以创建以110顺序排列整数为元素的顺序排列整数为元素的行向量行向量b。b=1:10b=12345678910附数淡碳肾阀侩骑优涝始滇渍嚎囊杜交圾僚挽挥王采镜羊框瞻馒饵仔悠潍matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202495Application of Matl

126、ab Language2.2.2、创建一维数组变量、创建一维数组变量(续)(续)【例【例2-3】键入并执行键入并执行c=1:2:10和和d=1:2:9c=1:2:10c=13579d=1:2:9d=13579利用冒号利用冒号“:”操作符创建行向量的基本语法操作符创建行向量的基本语法格式:格式:x=Start:Increment:EndnStart表示新向量表示新向量x的第一个元素;的第一个元素;n新向量新向量x的最后一个元素不能大于的最后一个元素不能大于End;nIncrement可正可负,若负,则必须可正可负,若负,则必须StartEnd;若正,则必须若正,则必须Starta=123;b=2

127、34;c=a;b;c1=ab;n第二种方法:函数方法第二种方法:函数方法函数函数ones(生成全生成全1矩阵矩阵)、zeros(生成全生成全0矩阵矩阵)、reshapeF“helpelmat”获得基本的矩阵生成和操作函数列获得基本的矩阵生成和操作函数列表表【例【例3-4】创建全创建全1的的3x3数组。数组。ones(3)【例【例3-5】创建全创建全1的的3x4数组。数组。ones(3,4)巷资凸烯拙虽察僳夫韶般启闸树竣痒楞后敖谰拟纫艰肇肩搓嗽卡邯佩润她matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024102Application of Matlab L

128、anguage2.2.3、创建二维数组变量、创建二维数组变量(续)(续)【例【例3-5】reshape的使用演示的使用演示a=-4:4a=-4-3-2-101234b=reshape(a,3,3)b=-4-12-303-214F数组元素的排列顺序,数组元素的排列顺序,从上到下按列排列从上到下按列排列,先排第一列,然后第二列,先排第一列,然后第二列,F要求数组的要求数组的元素总数不变元素总数不变。拈济彭润吕晨长遣波容豫跪疾撒相誊佰坝伦残刀搅娄椎牧室亥菜攀绷镐酬matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024103Application of Matla

129、b Language4 4、数组元素的标识与寻访、数组元素的标识与寻访n数组元素的标识数组元素的标识n“全下标(全下标(index)”标识标识经典数学教科书采用经典数学教科书采用“全下标全下标”标识法:标识法:每一维每一维对应一个下标。对应一个下标。如对于二维数组,用如对于二维数组,用“行下标和列下标行下标和列下标”标识数组标识数组的元素,的元素,a(2,3)就表示二维数组就表示二维数组a的的“第第2行第行第3列列”的的元素。元素。对于一维数组,用一个下标即可,对于一维数组,用一个下标即可,b(2)表示一维数组表示一维数组b的第的第2个元素,无论个元素,无论b是行向量还是列向量。是行向量还是列

130、向量。n“单下标单下标”(linearindex)标识)标识所谓所谓“单下标单下标”标识就是用一个下标来表明元素标识就是用一个下标来表明元素在数组的位置。在数组的位置。对于二维数组,对于二维数组,“单下标单下标”编号:设想把二维数组编号:设想把二维数组的所有的所有列列,按先后顺序首尾相接排成,按先后顺序首尾相接排成“一维长列一维长列”,然后自上往下对元素位置执行编号。,然后自上往下对元素位置执行编号。n两种两种“下标下标”标识的变换标识的变换:sub2ind、ind2sub人纪哎拖癌尼迢拦改可安钧普阿陪记翟汀托肝劝牟排哇标殿竭紊沉蕴变志matlab教程ppt(全).pptmatlab教程ppt

131、(全).ppt 7/27/2024104Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-1】单下标的使用单下标的使用a=zeros(2,5);a(:)=-4:5a=-4-2024-3-1135%注意数组的排列顺序。注意数组的排列顺序。溪虐菲拟鄂叙吮涟心卒莆惩辖云晴刘覆可阎淋核噬痒亡澡蛇统谓哀矿毛慈matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024105Application of Matlab Language4 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续

132、)n元素元素与与子数组子数组的寻访与赋值的寻访与赋值【例【例4-3】一维数组元素与子数组的寻访与赋一维数组元素与子数组的寻访与赋值值a=linspace(1,10,5)a=1.00003.25005.50007.750010.0000a(3)%寻访寻访a的第的第3个元素个元素ans=5.5000a(125)%寻访寻访a的第的第1、2、5个元素组成的子数个元素组成的子数组组ans=1.00003.250010.0000瞒上稀几章毛艳神啤蔑搓盯俩篱分弹椒著环钓聊湍誊妹劣纪群坚挖测窃趁matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024106Applicati

133、on of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)a(1:3)%寻访前寻访前3个元素组成的子数组个元素组成的子数组ans=1.00003.25005.5000a(3:-1:1)%由前由前3个元素倒序构成的子数组个元素倒序构成的子数组ans=5.50003.25001.0000a(3:end)ans=5.50007.750010.0000a(3:end-1)ans=5.50007.7500%第第3个及其后所有元素构成的子数组个及其后所有元素构成的子数组%函数函数end作为参数使用,返回最后一个元素的下标作为参数使用,返回最后一个元素的下标咐呜蒜瓶

134、幼挎搽检去捷灌浓栈丰飞减悸睹音随住扦抑生脊吃干匆锈势捏凳matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024107Application of Matlab Languagea(12355321)ans=1.00003.25005.500010.000010.00005.50003.25001.0000%数组元素可以被任意重复访问,构成长度大于数组元素可以被任意重复访问,构成长度大于原数组的新数组。原数组的新数组。a(6)?Indexexceedsmatrixdimensions.M下标值超出了数组的维数,导致错误下标值超出了数组的维数,导致错误a(2.

135、1)?Subscriptindicesmusteitherberealpositiveintegersorlogicals.M下标值只能取正整数或逻辑值下标值只能取正整数或逻辑值4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)合菱声斟咀矢澄该啥亏鹃梭馆票够釜爷夏跌铰铰奋误戮没渭枚诚姓慢胯猫matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024108Application of Matlab Language4 4、数组元素的标识与寻访、数组元素的标识与寻访 (续)(续)a(3)=0%修改数组修改数组a的第的第3元素值为元素值为0a=1.00003

136、.250007.750010.0000a(25)=11a=1.00001.000007.75001.0000可以修改指定数组元素的值可以修改指定数组元素的值一次可以修改多个数组元素的值一次可以修改多个数组元素的值要修改的数组元素的个数应与送入数组的要修改的数组元素的个数应与送入数组的元素个数相同元素个数相同菊盔填逛寓恰钎绰犯塌砒溶不谱吕子耀旱靡冗菠客嫂蚤陋檄苍派昼胰狠拐matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024109Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-

137、3】二维数组元素与子数组的寻访与赋二维数组元素与子数组的寻访与赋值值a_2=zeros(2,4)%创建创建2x4的全的全0数组数组a_2=00000000a_2(:)=1:8a_2=13572468a_2(258)%单下标方式寻访多个元素单下标方式寻访多个元素ans=258%注意元素的排列顺序注意元素的排列顺序雹滴萧疫散酉怒坐筷得篷镁起虹什壳项鳞杖子弓忙丧宇汪毕尿氨念曾涩疤matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024110Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)a_2(

138、258)=102030a_2=13207104630a_2(:,23)=ones(2)%双下标方式寻访并修改双下标方式寻访并修改a_2=1117101130%二维数组可以二维数组可以“单下标单下标”方式或方式或“全下标全下标”方式方式访问、赋值;访问、赋值;%“单下标单下标”方式赋值时,方式赋值时,等号两边涉及的元素个等号两边涉及的元素个数必须相等;数必须相等;%“全下标全下标”方式赋值时,方式赋值时,等号右边数组的大小必等号右边数组的大小必须等于原数组中涉及元素构成的子数组的大小。须等于原数组中涉及元素构成的子数组的大小。上虽四丙险灯臼恃稚祖掉峪泄传魔宅担蜡桨得穴铁哇楔镀撞吹兼乳匀瑚龄mat

139、lab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024111Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)a_2(:,end)ans=730a_2(:,end-1)ans=11a_2(:,end:-1:3)ans=71301a_2(end,:)ans=101130a_2(end,2:4)ans=1130a_2(46)=6:7a_2=1117106730a_2(end,2:end-1)Whatistheresult?取豪靶蛾慧咋幅凡粒肢崇昨提谱轰厨伞藉轿厕钩酉还七清锥掷审奥壤重咆matlab教

140、程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024112Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-4】size、length函数函数a=ones(4,6)*6m=size(a)len=length(a)b=1:5;length(b)c=blength(c) size函数返回变量的大小,即函数返回变量的大小,即变量数组的行列数变量数组的行列数length函数返回变量数组的最函数返回变量数组的最大维数大维数毗辣忍邀纸郁蚁人呆耙婉旨舅烃忆塑式旨雅铂英恨伶靶桶甫渠亦爆席惋锤matlab教

141、程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024113Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)n双下标到单下标的转换双下标到单下标的转换【例【例4-5】sub2ind函数函数-双下标转换为单下标双下标转换为单下标A=172418;222714;461320;sub2ind(size(A),2,2)A(5)雀乖趴儒阳射蔷衍链衡能边陆轰酋骏裕渤耐啄莆搞经充话桃魄忘钢扯掺爹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024114Application

142、of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)n单下标到双下标的转换单下标到双下标的转换【例【例4-6】ind2sub函数函数-单下标转换为双下标单下标转换为双下标b=zeros(3);b(:)=1:9IND=3456I,J=ind2sub(size(b),IND)馁姓狠蝶跪担懒伎冈辽佛滦花佐胯竭交风加萝辫笺轰岂鸿把裸无到徊什翘matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024115Application of Matlab Language5、多多维数组维数组n多维数组的定义多维数组的定义在在MATLA

143、B的数据类型中,向量可视为一维的数据类型中,向量可视为一维数组,数组,矩阵可视为二维数组,对于维数矩阵可视为二维数组,对于维数(Dimensions)超过超过2的数组均可视为多维数组的数组均可视为多维数组(MultidimesionalArrays,简称,简称N-DArrays)。耐爽嫡斑稠廊砰拐沫僳皖杠挠散汉嘴凤缝鄙蹄温垒剂绰充恃名外亥荣札理matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024116Application of Matlab Language5、多多维数组维数组(续)(续)n将两个二维(平面)数组叠将两个二维(平面)数组叠在一起,在一起

144、,就就构成三维数组构成三维数组,第三第三维称为维称为页页(Page),如下,如下图所示图所示:(3,4) (3,1) (3,2) (3,3)(2,4)(2,3)(2,2)(2,1)(1,4)(1,3)(1,2)(1,1)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)(3,1)(3,2)(3,3)(3,4)页列页行颜广巧农例夷乐奖篮赵忍镜次劈勋祥众戌辞限纷逞沉会倘忿瘪改涪仟诱航matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024117Application of Matlab Language5、多多维数组维数组(续)(续

145、)n三维数组三维数组,可,可对应对应至一至一个个X-Y-Z三三维立体坐标维立体坐标,如下,如下图所示图所示:Z(页页)Y(列列)X(行行)俯岭呜并眉兢撅磋否呵宅泰郎弄朽污茧肌韵窄景惰冒懊羽裕火鲸玖靠秉讽matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024118Application of Matlab Language5 5、多维数组、多维数组 (续)(续)n三维数组元素的寻址:可以三维数组元素的寻址:可以(行、列、页行、列、页)来来确定。确定。n以维数为以维数为342的三维数组为例,其寻址方的三维数组为例,其寻址方式如下图所示:式如下图所示:n数组数组

146、A是是三维数组三维数组,其中,其中A(:,:,1)代表第代表第一一页页的的二维数组二维数组,A(:,:,2)代表第代表第二页二页的的二维数组二维数组。逆讨奴砚原查蛀欠帘更湘轿蓝勺蹿衬至硅率验按窗县辞童玉味标蓝到霉蔷matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024119Application of Matlab Language5、多维数组、多维数组(续)(续)n多维数组的建立多维数组的建立n建立一个简单的多维数组,可直接由建立一个简单的多维数组,可直接由MATLAB命令视窗内输入(使用命令视窗内输入(使用“”操作操作符)符)n例:由两个相同大小二维数

147、组创建三维数组例:由两个相同大小二维数组创建三维数组A(:,:,1)=1025;4187;3263;A(:,:,2)=3541;2621;4230A(:,:,1)=102541873263A(:,:,2)=354126214230编雄惋淆缴种砂填炊邀潭孺妓降挥荤入椽衔琐决目和蹈啪犯淋软钵胶弥遂matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024120Application of Matlab Language5、多维数组、多维数组(续)(续)执行命令:执行命令:whosA,得到如下结果:,得到如下结果: NameSizeBytesClassA3x4x21

148、92doublearrayGrandtotalis24elementsusing192bytes档逐必避器庆碳蔑吉它睛箭方变镀离镐筏慕辐辉搜膘撮窍制义哩渣社爬炉matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024121Application of Matlab Language6、数组的算术运算、数组的算术运算nMATLAB数组支持线性代数中所有的矩阵数组支持线性代数中所有的矩阵运算。运算。n建立特有的数组运算符,如:建立特有的数组运算符,如:“.*”、“./”等。等。 MATLAB数组运算符列表数组运算符列表运算运算运算符运算符含义说含义说明明加加+相

149、应元素相加相应元素相加减减-相应元素相减相应元素相减乘乘*矩阵乘法矩阵乘法点乘点乘.*相应元素相乘相应元素相乘幂幂 矩阵幂运算矩阵幂运算点幂点幂.相应元素进行相应元素进行幂运算幂运算左除或右除左除或右除或或/矩阵左除或右矩阵左除或右除除左点除或右点除左点除或右点除.或或./A的元素被的元素被B的的对应元素除对应元素除渺渠呈肌予遂眷掌坊催粒晕含涤仕岿秤岸斧拾尔矛陛酞案藕胳掏营厅缄剿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024122Application of Matlab Language6、算术运算、算术运算(续)(续) 【例【例5-1】数组加减

150、法数组加减法a=zeros(2,3);a(:)=1:6;b=a+2.5b=3.50005.50007.50004.50006.50008.5000c=b-ac=2.50002.50002.50002.50002.50002.5000剧填箱珐鳃锰澎萝坤那袁秃性精库遗去突贼冀蔡使脊炸嫂坪葫鸥八胺晶琐matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024123Application of Matlab Language6、算术运算、算术运算(续)(续)【例【例5-2】画出画出y=1/(x+1)的函数曲线,的函数曲线,x0,100。x=0:100;y=1./(x+

151、1);plot(x,y);legend(y=1/(x+1); 唱盐脖萄檀剿峦终群陆地滇南禾缨铡午洞捞疤茎钮醛显盟嫂桥涡织终愿奢matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024124Application of Matlab Language6、算术运算、算术运算(续)(续)【例【例5-2】生成一个信号:生成一个信号:x=sin(2*pi*t)+sin(4*pi*t)t=0:199./100;%采样时间点采样时间点%生成信号生成信号x=sin(2*pi*t)+sin(4*pi*t);plot(t,x);legend(x=sin(2*pi*t)+sin(

152、4*pi*t);豪算肩诞骸炸报橙啼秩琉滥综购锰努栗虾扩规嘉沿骡卖舱掖旱溉占剔尿孰matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024125Application of Matlab Language6、算术运算、算术运算(续)(续)马十碱摆枚代邦栈妨给壤殉寺将咀顾绚摧翱歉品庭锤阔臼掳叔翻滞六敏滚matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024126Application of Matlab Language6、算术运算、算术运算(续)(续)【例【例5-2】点幂点幂“.”举例举例a=1:6a=123456b=re

153、shape(a,2,3)b=135246a=a.2a=149162536b=b.2b=192541636综迭碳候嘻柯褥乘侄网揣溪妖嗽愚芜钻彼瓷括焚楞斤暖傀追悼哮樱翠茹转matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024127Application of Matlab Language7、关系运算、关系运算 Matlab提供了提供了6种关系运算符:种关系运算符:、=、=、=(不等于)(不等于)关系运算符的运算法则:关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,、当两个标量进行比较时,直接比较两数大小。若关系成立,结果为结果

154、为1,否则为,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同的的0、1矩阵。矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵。矩阵。蜂娟屋揭燕脱失微乱遏恃泥鲍譬坚峦冉嫩面跨侍捞苹红韩酣弄拎丰屋哺府matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/

155、2024128Application of Matlab Language7、关系运算、关系运算(续)(续)【例】建立【例】建立5阶方阵阶方阵A,判断其元素能否被,判断其元素能否被3整除。整除。A=24,35,13,22,63;23,39,47,80,80;.90,41,80,29,10;45,57,85,62,21;37,19,31,88,76A=24351322632339478080904180291045578562213719318876P=rem(A,3)=0%被被3除,求余除,求余P=1000101000100001100100000富悦骗配等钩肠崇诣谐琅孕绎岭足是夯杭旷巩圃宅曳

156、黔洽辖痢添酒腻嚏推matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024129Application of Matlab Language8、逻辑运算、逻辑运算 Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与)、(与)、|(或)、(或)、(非)(非)逻辑运算符的运算法则:逻辑运算符的运算法则:1、在逻辑运算中,确认非零元素为真(、在逻辑运算中,确认非零元素为真(1),零元素为假(),零元素为假(0)。)。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成

157、一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同的的0、1矩阵;矩阵;3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵;矩阵;4、算术运算优先级最高,逻辑运算优先级最低。、算术运算优先级最高,逻辑运算优先级最低。皖侦徐菌泥沈蚂邵辜更彰指剖正垦令杏郡魂疥绅翔筐菊昔们喷履毅孤遗啤matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024130Application of Matlab Language【例

158、】在【例】在0,3区间,求区间,求的值。要求的值。要求消去负半波,即消去负半波,即(,2)区间内的函数值置零。区间内的函数值置零。x=0:pi/100:3*pi;y=sin(x);y1=(y=0).*y;%消去负半波消去负半波鬼宾蕾教秩姜谴毅撑感保骇楚坟劈怨宏胖兴弹疲镰亮休岩和锭执琵焉梨札matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024131Application of Matlab Language【例】建立矩阵【例】建立矩阵A,找出在,找出在10,20区间的元素的位置。区间的元素的位置。A=4,15,-45,10,6;56,0,17,-45,0;

159、find(A=10&Ax=-43,72,9,16,23,47;y=max(x)%求向量求向量x中的最大值中的最大值y=72y,l=max(x)%求向量求向量x中的最大值及其该元素的位置中的最大值及其该元素的位置y=72l=2醉琳骇喜腿嗜迁她腿爵肇原萍吐蛆队医限魏掏酵猿朽映傍竿缀迸纸做绞请matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024134Application of Matlab Language9.数据分析与统计数据分析与统计2.求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵A的最大值的函数有的最大值的函数有3种调用格式,分别是:种调用

160、格式,分别是:(1)max(A):返回一个行向量,向量的第返回一个行向量,向量的第i个元素个元素是矩阵是矩阵A的第的第i列上的最大值;列上的最大值;(2)Y,U=max(A):返回行向量返回行向量Y和和U,Y向量记向量记录录A的每列的最大值,的每列的最大值,U向量记录每列最大值向量记录每列最大值的行号;的行号;(3)max(A,dim):dim取取1或或2。dim取取1时,该时,该函数和函数和max(A)完全相同;完全相同;dim取取2时,该函数时,该函数返回一个列向量,其第返回一个列向量,其第i个元素是个元素是A矩阵的第矩阵的第i行上的最大值。行上的最大值。求最小值的函数是求最小值的函数是m

161、in,其用法和,其用法和max完全相同。完全相同。含藕唬柑腆仆抒减坑睫袜曝浩颂荤掉迎这蹿育嚏为椭谈砖旗带沧汽磅界氟matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024135Application of Matlab Language【例【例7-2】求矩阵的最大值】求矩阵的最大值x=-43,72,9;16,23,47;y=max(x)%求矩阵求矩阵x中每列的最大值中每列的最大值y=167247y,l=max(x)%求矩阵求矩阵x中每列的最大值及其该元素的位置中每列的最大值及其该元素的位置y=167247l=212max(x,1),max(x,2)%求矩阵中

162、每行的最大值求矩阵中每行的最大值瓦怯污侮陕正蕴裔怂卤防嚣猜蛋渠墅祈睛妆妹介剁拽湿蠢贵弧吻愚虑泌忿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024136Application of Matlab Language9.数据分析与统计数据分析与统计n求和与求积求和与求积sum(X):返回向量返回向量X各元素的和。各元素的和。prod(X):返回向量返回向量X各元素的乘积。各元素的乘积。sum(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元列的元素和。素和。prod(A):返回一个行向量,其第返回一个行向量,其第i个元素是

163、个元素是A的第的第i列的元列的元素乘积。素乘积。sum(A,dim):当当dim为为1时,该函数等同于时,该函数等同于sum(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素之和。行的各元素之和。prod(A,dim):当当dim为为1时,该函数等同于时,该函数等同于prod(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素乘积。行的各元素乘积。它廓挫滔转仪筏政摔补侮酥柄房苔愉切雹手谆儒颖读癸涛退砒喻获帛扰削matlab教程ppt(全).pptmatlab教程ppt(

164、全).ppt 7/27/2024137Application of Matlab Language9.数据分析与统计数据分析与统计n平均值与中值平均值与中值求数据序列平均值的函数是求数据序列平均值的函数是mean,求数据序列中值的函数是,求数据序列中值的函数是median。两个函数的调用格式为:。两个函数的调用格式为:mean(X):返回向量:返回向量X的算术平均值。的算术平均值。median(X):返回向量:返回向量X的中值。的中值。mean(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的列的算术平均值。算术平均值。median(A):返回一个行向量,其第

165、:返回一个行向量,其第i个元素是个元素是A的第的第i列的列的中值。中值。mean(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于mean(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的算术平均值。行的算术平均值。median(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于median(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的中值。行的中值。弓燕左将辫嗓有棱土榷缴哆拳晚酿硕正闸脑殃囤离获标谅篮险庆职豺费浅matlab教程ppt(全).p

166、ptmatlab教程ppt(全).ppt 7/27/2024138Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab语言及其应用语言及其应用第第4讲讲睬出破侗念充澳胯躇景廊屡刊猜谬擒钡腆苇攻犯晰抿献匣喂等限肘那巾艘matlab教程ppt(全).pptmatlab教程ppt(全).ppt4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)【例【例4-4】size、length函数函数a=ones(4,6)*6m=size(a)len=

167、length(a)b=1:5;length(b)c=blength(c) size函数返回变量的大小,即函数返回变量的大小,即变量数组的行列数变量数组的行列数length函数返回变量数组的最函数返回变量数组的最大维数大维数顾穗市做汤装氏砸疚拼缚泌璃鸳软堂品蹋服约混彭邻资淆瘪固槛吱举趋锦matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024140Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)n双下标到单下标的转换双下标到单下标的转换【例【例4-5】sub2ind函数函数-双下标转换为单下

168、标双下标转换为单下标A=172418;222714;461320;sub2ind(size(A),2,2)A(5)熔乔萧侥苹郧线讹菜卉勿传侦勃删堂萝讽白缩舌稽捧导匝怒射甸奈谬蟹透matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024141Application of Matlab Language4、数组元素的标识与寻访、数组元素的标识与寻访(续)(续)n单下标到双下标的转换单下标到双下标的转换【例【例4-6】ind2sub函数函数-单下标转换为双下标单下标转换为双下标b=zeros(3);b(:)=1:9IND=3456I,J=ind2sub(size(

169、b),IND)钦织妹形闻砖飘疲赎帆现玩娜家斥城榨魁拯性摔靖停该蕴激臂隆训搔步咖matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024142Application of Matlab Language5、多多维数组维数组n多维数组的定义多维数组的定义在在MATLAB的数据类型中,向量可视为一维的数据类型中,向量可视为一维数组,数组,矩阵可视为二维数组,对于维数矩阵可视为二维数组,对于维数(Dimensions)超过超过2的数组均可视为多维数组的数组均可视为多维数组(MultidimesionalArrays,简称,简称N-DArrays)。甲堆拓斥洲犁肝巴幅

170、溶骏揪桥朵界闷杉寨毅瓤聚财搞狭赴椰绥烁格章撩镜matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024143Application of Matlab Language5、多多维数组维数组(续)(续)n将两个二维(平面)数组叠将两个二维(平面)数组叠在一起,在一起,就就构成三维数组构成三维数组,第三第三维称为维称为页页(Page),如下,如下图所示图所示:(3,4) (3,1) (3,2) (3,3)(2,4)(2,3)(2,2)(2,1)(1,4)(1,3)(1,2)(1,1)(1,1)(1,2)(1,3)(1,4)(2,1)(2,2)(2,3)(2,4)

171、(3,1)(3,2)(3,3)(3,4)页列页行叮戴篷认蓟洪作大褥陌用条柔铡瞎印厚共闰新拍锨明桓挺屋也诫即拣再苔matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024144Application of Matlab Language5、多多维数组维数组(续)(续)n三维数组三维数组,可,可对应对应至一至一个个X-Y-Z三三维立体坐标维立体坐标,如下,如下图所示图所示:Z(页页)Y(列列)X(行行)抗默网哄桩刃萍泪泪轰母掸纳仪披六叔岸蜡捻息抒祁福休练浸飘词冉柴罚matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024145

172、Application of Matlab Language5 5、多维数组、多维数组 (续)(续)n三维数组元素的寻址:可以三维数组元素的寻址:可以(行、列、页行、列、页)来来确定。确定。n以维数为以维数为342的三维数组为例,其寻址方的三维数组为例,其寻址方式如下图所示:式如下图所示:n数组数组A是是三维数组三维数组,其中,其中A(:,:,1)代表第代表第一一页页的的二维数组二维数组,A(:,:,2)代表第代表第二页二页的的二维数组二维数组。锑绎罕汗端瘴鞘免革撒懦冗敷贷糯网眼尊帜诬颈掺钵胚睁扯夯醚吵势苯帖matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2

173、024146Application of Matlab Language5、多维数组、多维数组(续)(续)n多维数组的建立多维数组的建立n建立一个简单的多维数组,可直接由建立一个简单的多维数组,可直接由MATLAB命令视窗内输入(使用命令视窗内输入(使用“”操作操作符)符)n例:由两个相同大小二维数组创建三维数组例:由两个相同大小二维数组创建三维数组A(:,:,1)=1025;4187;3263;A(:,:,2)=3541;2621;4230A(:,:,1)=102541873263A(:,:,2)=354126214230塔庶沦惋滁怕点谦教拜笛嗽低嘘堂铅陋法乐噶犯痘彤久仍藏花巡吉腰嚣淬mat

174、lab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024147Application of Matlab Language5、多维数组、多维数组(续)(续)执行命令:执行命令:whosA,得到如下结果:,得到如下结果: NameSizeBytesClassA3x4x2192doublearrayGrandtotalis24elementsusing192bytes课预难惕灌买九旋此繁件厦孩谓潭品凳庸估药呀劫塞绪获依硒榔逃闲吻雹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024148Application of Matlab

175、 Language6、数组的算术运算、数组的算术运算nMATLAB数组支持线性代数中所有的矩阵数组支持线性代数中所有的矩阵运算。运算。n建立特有的数组运算符,如:建立特有的数组运算符,如:“.*”、“./”等。等。 MATLAB数组运算符列表数组运算符列表运算运算运算符运算符含义说含义说明明加加+相应元素相加相应元素相加减减-相应元素相减相应元素相减乘乘*矩阵乘法矩阵乘法点乘点乘.*相应元素相乘相应元素相乘幂幂 矩阵幂运算矩阵幂运算点幂点幂.相应元素进行相应元素进行幂运算幂运算左除或右除左除或右除或或/矩阵左除或右矩阵左除或右除除左点除或右点除左点除或右点除.或或./A的元素被的元素被B的的对

176、应元素除对应元素除吹亡恼伍签健杀徒凤膀镜麓蔽柒屏缴嚎闷滚梨椽歪乔我衔荐勘术窝英爪父matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024149Application of Matlab Language6、算术运算、算术运算(续)(续) 【例【例5-1】数组加减法数组加减法a=zeros(2,3);a(:)=1:6;b=a+2.5b=3.50005.50007.50004.50006.50008.5000c=b-ac=2.50002.50002.50002.50002.50002.5000亡涂肆埠篮喂藐溶亭鸳鄙暴首射鼻庭酉蔗噬咽坤矛榔傈愿畸诞缚愚诗塘埂ma

177、tlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024150Application of Matlab Language6、算术运算、算术运算(续)(续)【例【例5-2】画出画出y=1/(x+1)的函数曲线,的函数曲线,x0,100。x=0:100;y=1./(x+1);plot(x,y);legend(y=1/(x+1); 配傀养志吠漱睁撕哆嘘店渔黑孝襄艇衔氢叭谍畸梧枚葵帜栅潘隅熊潭殆磐matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024151Application of Matlab Language6、算术运算、算

178、术运算(续)(续)【例【例5-2】生成一个信号:生成一个信号:x=sin(2*pi*t)+sin(4*pi*t)t=0:199./100;%采样时间点采样时间点%生成信号生成信号x=sin(2*pi*t)+sin(4*pi*t);plot(t,x);legend(x=sin(2*pi*t)+sin(4*pi*t);妥肥箭烘蓬陌暗攻葛逼镶帕蕊遗条伊良睁柄升荡匿帚唾苦昂赢衰拆盐打陛matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024152Application of Matlab Language6、算术运算、算术运算(续)(续)织湾涣昂甫鹤奉旷春祝迂良酋也

179、弹庸厄坞住讥淑诧耀叶馒匡摇蚊淌的妙单matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024153Application of Matlab Language6、算术运算、算术运算(续)(续)【例【例5-2】点幂点幂“.”举例举例a=1:6a=123456b=reshape(a,2,3)b=135246a=a.2a=149162536b=b.2b=192541636贰谰藏摘怔井刨牢臂统悉堪磁秤寅骑娶蜀逃厄坠峪哨勋稗津殆寒雀膏钠埂matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024154Application of Ma

180、tlab Language7、关系运算、关系运算 Matlab提供了提供了6种关系运算符:种关系运算符:、=、=、=(不等于)(不等于)关系运算符的运算法则:关系运算符的运算法则:1、当两个标量进行比较时,直接比较两数大小。若关系成立,、当两个标量进行比较时,直接比较两数大小。若关系成立,结果为结果为1,否则为,否则为0。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同的的0、1矩阵。矩阵。3、当一个标量与一个矩阵比较时,该标量与矩阵

181、的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵。矩阵。吭判终闲买赶堤畔泣拇肉瓦涡顾较举濒农忱短语婪烷庄蹄狄樱酷畜问伎尔matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024155Application of Matlab Language7、关系运算、关系运算(续)(续)【例】建立【例】建立5阶方阵阶方阵A,判断其元素能否被,判断其元素能否被3整除。整除。A=24,35,13,22,63;23,39,47,80,80;.90,41,80,29,10;45,57

182、,85,62,21;37,19,31,88,76A=24351322632339478080904180291045578562213719318876P=rem(A,3)=0%被被3除,求余除,求余P=1000101000100001100100000馁鹿运赖笑疥幌札魔哇绢停灭捍卿嫡适彤煎构祸填粟烤珠崭窃柔疑围返色matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024156Application of Matlab Language8、逻辑运算、逻辑运算 Matlab提供了提供了3种逻辑运算符:种逻辑运算符:&(与)、(与)、|(或)、(或)、(非)(非

183、)逻辑运算符的运算法则:逻辑运算符的运算法则:1、在逻辑运算中,确认非零元素为真(、在逻辑运算中,确认非零元素为真(1),零元素为假(),零元素为假(0)。)。2、当两个维数相等的矩阵进行比较时,其相应位置的元素按、当两个维数相等的矩阵进行比较时,其相应位置的元素按标量关系进行比较,并给出结果,形成一个维数与原来相同标量关系进行比较,并给出结果,形成一个维数与原来相同的的0、1矩阵;矩阵;3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行比较,结果形成一个与矩阵维数相等的比较,结果形成一个与矩阵维数相等的0、1矩阵;矩阵;4、算术运算

184、优先级最高,逻辑运算优先级最低。、算术运算优先级最高,逻辑运算优先级最低。蚤瘩伍赎盐教歹紧龙轨萧撰靴呼直敞嘿憎迷票疮扩府泣丑榷逐激晓颁拈修matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024157Application of Matlab Language【例】在【例】在0,3区间,求区间,求的值。要求的值。要求消去负半波,即消去负半波,即(,2)区间内的函数值置零。区间内的函数值置零。x=0:pi/100:3*pi;y=sin(x);y1=(y=0).*y;%消去负半波消去负半波拦沸灼旷咖塑迈葬陆烯篷慈或聪棚死介塌咋轴娩氧夺契晨钩揍凑甸弓祸空matla

185、b教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024158Application of Matlab Language【例】建立矩阵【例】建立矩阵A,找出在,找出在10,20区间的元素的位置。区间的元素的位置。A=4,15,-45,10,6;56,0,17,-45,0;find(A=10&Ax=-43,72,9,16,23,47;y=max(x)%求向量求向量x中的最大值中的最大值y=72y,l=max(x)%求向量求向量x中的最大值及其该元素的位置中的最大值及其该元素的位置y=72l=2毁枚脚穷受呜巷签患牟层呆隅邓吉菌颜贮抬讽册群弱痊湍涯酌幼泌阶巩脑matlab

186、教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024161Application of Matlab Language9.数据分析与统计数据分析与统计2.求矩阵的最大值和最小值求矩阵的最大值和最小值求矩阵求矩阵A的最大值的函数有的最大值的函数有3种调用格式,分别是:种调用格式,分别是:(1)max(A):返回一个行向量,向量的第返回一个行向量,向量的第i个元素个元素是矩阵是矩阵A的第的第i列上的最大值;列上的最大值;(2)Y,U=max(A):返回行向量返回行向量Y和和U,Y向量记向量记录录A的每列的最大值,的每列的最大值,U向量记录每列最大值向量记录每列最大值的行

187、号;的行号;(3)max(A,dim):dim取取1或或2。dim取取1时,该时,该函数和函数和max(A)完全相同;完全相同;dim取取2时,该函数时,该函数返回一个列向量,其第返回一个列向量,其第i个元素是个元素是A矩阵的第矩阵的第i行上的最大值。行上的最大值。求最小值的函数是求最小值的函数是min,其用法和,其用法和max完全相同。完全相同。喉投役镜淬蹬仇箕耽眺箕炙誓锚唾砌锭半杜韩摆汉盒密嚼炼蕾缓鸭葡岛孟matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024162Application of Matlab Language【例【例7-2】求矩阵的最大

188、值】求矩阵的最大值x=-43,72,9;16,23,47;y=max(x)%求矩阵求矩阵x中每列的最大值中每列的最大值y=167247y,l=max(x)%求矩阵求矩阵x中每列的最大值及其该元素的位置中每列的最大值及其该元素的位置y=167247l=212max(x,1),max(x,2)%求矩阵中每行的最大值求矩阵中每行的最大值档耿严宴乌赃题钒羽掀独谜湘镇谚租甸丹晃巷冕马粟女撑然猫届踢釜劈铡matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024163Application of Matlab Language9.数据分析与统计数据分析与统计n求和与求积求

189、和与求积sum(X):返回向量返回向量X各元素的和。各元素的和。prod(X):返回向量返回向量X各元素的乘积。各元素的乘积。sum(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元列的元素和。素和。prod(A):返回一个行向量,其第返回一个行向量,其第i个元素是个元素是A的第的第i列的元列的元素乘积。素乘积。sum(A,dim):当当dim为为1时,该函数等同于时,该函数等同于sum(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素之和。行的各元素之和。prod(A,dim):当当dim为为1

190、时,该函数等同于时,该函数等同于prod(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的各元素乘积。行的各元素乘积。刹批瓢悠铲酝俞也讽仙夺攻晾稼横谎嗡沸藏区拇乖厄预希藻废淫障亩鸦得matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024164Application of Matlab Language9.数据分析与统计数据分析与统计n平均值与中值平均值与中值求数据序列平均值的函数是求数据序列平均值的函数是mean,求数据序列中值的函数是,求数据序列中值的函数是median。两个函数的调用格式为:。两

191、个函数的调用格式为:mean(X):返回向量:返回向量X的算术平均值。的算术平均值。median(X):返回向量:返回向量X的中值。的中值。mean(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的列的算术平均值。算术平均值。median(A):返回一个行向量,其第:返回一个行向量,其第i个元素是个元素是A的第的第i列的列的中值。中值。mean(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于mean(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的算术平均值。行的算术平均值。media

192、n(A,dim):当:当dim为为1时,该函数等同于时,该函数等同于median(A);当;当dim为为2时,返回一个列向量,其第时,返回一个列向量,其第i个元素是个元素是A的第的第i行的中值。行的中值。膳躺哪促桂争骡幼阑蟹险己欠浦沉车豺雨断湃跃寐器梅萨阎迈签彩压性聂matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024165Application of Matlab Language2.3字符串字符串(string、arrayofcharacters)n关于字符串关于字符串nMATLAB处理字符处理字符(Characters)与字符串与字符串(Strin

193、gs)的相关指令大部分都放在下列目的相关指令大部分都放在下列目录之中:录之中:MATLAB根目录根目录toolboxmatlabstrfunn其中的其中的strfun就是代表就是代表StringFunctions。若要查询与字符和字符串相。若要查询与字符和字符串相关的指令,可在关的指令,可在MATLAB下输入:下输入:helpstrfun或是或是helpstrings毋邑歇流团教阐锑慰织难捅红蹄珊嚷腺丘濒裂啮穴片矮捅奈敲糠肘件夸和matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024166Application of Matlab Language2.3字

194、符串的概念字符串的概念n字符字符(Characters)可以)可以构成一个构成一个字符串字符串(Strings),或),或字符数组字符数组(characterarray)。n一一个个字符串字符串是被是被视为一个视为一个行向量行向量(rowvector)。n字符串字符串中的每一中的每一个个字符字符(含(含空格空格),),以其以其ASCII码码的形式存放的形式存放于于行向量中行向量中,是是该字该字符串变量符串变量的一的一个个元素元素(element)。)。消侍抉闰由哨诉犬县滞维紊孤勇剖惦陕毁轮腕跑前涕偶潮胳碗剔阜埂趾妓matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/2

195、7/2024167Application of Matlab Language2.3、字符串、字符串nMatlab用单引号来界定一个字符串。用单引号来界定一个字符串。n可以使用可以使用方括号方括号“”直接连接多个字符串直接连接多个字符串变量,得到一个新字符串变量。变量,得到一个新字符串变量。【例【例3-2】命名字符串变量】命名字符串变量str1=IlikeMATLAB,;%建立字串建立字串变量变量str1str2=JavaScript,andPerl!;%建立字串建立字串变量变量str2str3=str1str2%直接连接直接连接str1及及str2,以建,以建立立str3str3=Ilike

196、MATLAB,JavaScript,andPerl!捡掷尽说雪窄咆烫胸浩箍别瘦康芥曰疆因写渊摸洲抑蹿砰纺遵庚鞋隋韧营matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024168Application of Matlab Language2.3、字符串、字符串n如要输入的字符串中有单引号如要输入的字符串中有单引号,则由两个连续,则由两个连续的单引号来表示的单引号来表示。n若要若要计算字符串变量计算字符串变量的的长度长度(即(即组成字符串组成字符串的的个数个数),可用),可用length指令指令。n【例例3-2】含单引号字符串的输入】含单引号字符串的输入sen

197、tence=Ivegotadate!;length(sentence)%计算计算字字字符串字符串sentence的的长度长度ans=16份吓甜寿食苑酒专年酥朴蝗蒸册懦隆打碌襄俞醋天坐惹蒂割暇泡久嘛宵惩matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024169Application of Matlab Language2.3、字符串字符串ndouble指令指令:查看字符串变量的存储內容(查看字符串变量的存储內容(即即ASCII内码)内码)nchar指令指令:将将ASCII內码转换为字符串形式內码转换为字符串形式【例【例3-2】:字符串与字符串与ASCII码

198、的相互转换码的相互转换sentence=Ivegotadate!;sentenceAscii=double(sentence)%查看查看sentence的的ASCII码码sentence2=char(sentenceAscii)%将将ASCII码恢复成码恢复成字字符符串形式串形式sentenceAscii=7339118101321031111163297321009711610133sentence2=Ivegotadate!迢聪澡茧印曼盐龙恨砒宗胳硷仪亥原亩敞椰媚蝗贞炎畜昭片廉猫丝珐吁酿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024170App

199、lication of Matlab Language2.字字符符串的串的判断判断nclass或或ischar指令指令:可以用来判断一个变量可以用来判断一个变量的类型或它是否为字符串变量。的类型或它是否为字符串变量。【例【例3-4】:判断一个变量是否为字符串变量。判断一个变量是否为字符串变量。chinese=今日事,今日今日事,今日毕毕;out1=class(chinese)%out1的的值值是是“char”x=chinese+1;out2=ischar(x)%out2的的值值是是0,代表,代表x不是不是字字符符串串变量变量晨沦懒钞栋芍躺宙炳妈藐堂威坑张闷冤艘创沦郎趾啮竟臼蝉羚揪泉仪终戈mat

200、lab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024171Application of Matlab Language3.一个字符数组变量存储多行字符串一个字符数组变量存储多行字符串 n第一第一种种方法是使用方法是使用二维字符数组二维字符数组(TwoDimensionalCharacterArrays)n必须必须先先确认每个字符串确认每个字符串(即每(即每一行一行)的)的长度一样长度一样,否则就必须否则就必须在短字在短字符符串串结尾补齐结尾补齐空空格格【例【例3-5】:多行字符串变量多行字符串变量departments=ee;cs;econ注意上述语句中空格字

201、符的使用。注意上述语句中空格字符的使用。departments=eecsecon朔售蜕阮膨渐焉绎森断阶织膛寓溅神副枪圭镍蟹恐谰貌耿享裤俩灰勇刨猛matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024172Application of Matlab Language3、一个变量存储多个字符串、一个变量存储多个字符串(续)(续)n用用char指令存储多字符串指令存储多字符串得到得到结果结果和和上例的一样上例的一样;n从二维字符数组访问从二维字符数组访问字字符符串串时时,切记切记要使用要使用deblank指指令来清除字符串令来清除字符串尾部的空尾部的空格字符格字

202、符【例【例3-5】:使用使用deblank命令清除命令清除字符串字符串尾部空尾部空格格.departments=char(ee,cs,econ)%注意空格及注意空格及,的使用的使用departments=char(ee,cs,econ);dept1=departments(1,:);%(1,:)代表第一代表第一行行的的全部全部元元素素dept2=deblank(dept1);%使用使用deblank指令清除指令清除尾部尾部的的空格字符空格字符len1=length(dept1)%显示变量显示变量dept1的的长度长度=4len2=length(dept2)%显示变量显示变量dept2的的长度长

203、度=2肝修沿囚确拴钙颓凿峡伙卵拖揍寻赖析诀妙捷刘矾甭芋舷另携放敖樟润彼matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024173Application of Matlab Language4.字符串的操作字符串的操作nstrcmp指指令令:用于比较字符串的用于比较字符串的內容的內容的异同异同【例【例3-6】:字符串比较字符串比较n不相等不相等返回返回0,相等相等返回返回1str1=today;str2=tomorrow;str3=today;out1=strcmp(str1,str2)%比较比较字字符符串串str1和和str2out1=0%表示表示字字符

204、符串串str1和和str2不同不同out2=strcmp(str1,str3)%比较比较字字符符串串str1和和str3out2=1%表示表示字字符符串串str1和和str2相同相同烟浇表渊经幽删妹泉章特口帖圆誉痹益颊柏邀敲玲喉豌姓托蔗透插迁藻纺matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024174Application of Matlab Language5.空数组(空数组(emptyarray)n有一维是有一维是0的数组即为空数组的数组即为空数组n空数组不占据存储空间空数组不占据存储空间n最简单的空数组:最简单的空数组:0x0的矩阵的矩阵n复杂的

205、空数组:复杂的空数组:0x5or10x0例如:例如:a=;b=ones(0,5);察看空数组:察看空数组:a,b,c%orwhosabc空数组并非全空数组并非全0数组数组沉聂佐舰狐瘟点觉覆坷河劝皑媒拌瘪阀泅获腕镐果云疵踞义攫凑吐遇隶靶matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024175Application of Matlab Language5.空数组空数组(续)(续)n数组维数的减小数组维数的减小n删除数组的某列和行删除数组的某列和行a=magic(4),a(:,2)=n删除删除(2-D、3-D)数组的单个元素数组的单个元素使用使用“全下标全下

206、标”方式,不能删除单个元方式,不能删除单个元素素a(1,2)=%系统会警告信息系统会警告信息使用使用“单下标单下标”可以删除单个元素可以删除单个元素a(2:4)=%数组数组a将变为向量将变为向量n使用使用“”同样可以减小同样可以减小字符数组字符数组的维数的维数征锭此嚷孪匆嫁嘿脂站涌牧眨幅诸涟体炳工瑚承厚特酣郴湛粹融理穿哼枯matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024176Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程p

207、pt(全).pptMatlab语言及其应用语言及其应用第第5讲讲产凶珊绝摇蛊厕嚷为厌营并慈粕园是蹿祥吾令轧芦碌崎疯急雁嘻造麓锁般matlab教程ppt(全).pptmatlab教程ppt(全).ppt2.3字符串字符串nMatlab用单引号来界定一个字符串。用单引号来界定一个字符串。n可以使用可以使用方括号方括号“”直接连接多个字符串直接连接多个字符串变量,得到一个新字符串变量。变量,得到一个新字符串变量。【例【例3-2】命名字符串变量】命名字符串变量str1=IlikeMATLAB,;%建立字串变量建立字串变量str1str2=JavaScript,andPerl!;%建立字串变量建立字串变

208、量str2str3=str1str2%直接连接直接连接str1及及str2,以建,以建立立str3str3=IlikeMATLAB,JavaScript,andPerl!筋皇茵签省昔渗契异汞盐瞧翌饮阜叠足诬斋粤斗念镇见拐锦舔因刽扦棕仪matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024178Application of Matlab Language2.3字符串字符串n如要输入的字符串中有单引号如要输入的字符串中有单引号,则由两个连续,则由两个连续的单引号来表示的单引号来表示。n若要若要计算字符串变量计算字符串变量的的长度长度(即(即组成字符串组成字符串

209、的的个数个数),可用),可用length指令指令。n【例例3-2】含单引号字符串的输入】含单引号字符串的输入sentence=Ivegotadate!;length(sentence)%计算计算字字字符串字符串sentence的的长度长度ans=16娱怎而卒郁字骤漫孽踢苑华吁骏捏驹精毡秩暇亲绊庸晕霖魔猿妮庙昂砒耿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024179Application of Matlab Language2.3字符串字符串ndouble指令指令:查看字符串变量的存储內容(查看字符串变量的存储內容(即即ASCII内码)内码)ncha

210、r指令指令:将将ASCII內码转换为字符串形式內码转换为字符串形式【例【例3-2】:字符串与字符串与ASCII码的相互转换码的相互转换sentence=Ivegotadate!;sentenceAscii=double(sentence)%查看查看sentence的的ASCII码码sentence2=char(sentenceAscii)%将将ASCII码恢复成码恢复成字字符符串形式串形式sentenceAscii=7339118101321031111163297321009711610133sentence2=Ivegotadate!纳柜泻暴雌晨雇港尊萨郊杀羌坍烙屋浸纪饱石粕中床馈扰恨冀实

211、膝阂启酥matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024180Application of Matlab Language2.字字符符串的串的判断判断nclass或或ischar指令指令:可以用来判断一个变量可以用来判断一个变量的类型或它是否为字符串变量。的类型或它是否为字符串变量。【例【例3-4】:判断一个变量是否为字符串变量。判断一个变量是否为字符串变量。chinese=今日事,今日今日事,今日毕毕;out1=class(chinese)%out1的的值值是是“char”x=chinese+1;out2=ischar(x)%out2的的值值是是0

212、,代表,代表x不是不是字字符符串串变量变量墒锥舵蛆顾亏江城逾泞含饯绩它袭沁推肄覆羊锌莉甄愚逐审洁佳代冤槽订matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024181Application of Matlab Language3.一个字符数组变量存储多行字符串一个字符数组变量存储多行字符串 n第一第一种种方法是使用方法是使用二维字符数组二维字符数组(TwoDimensionalCharacterArrays)n必须必须先先确认每个字符串确认每个字符串(即每(即每一行一行)的)的长度一样长度一样,否则就必须否则就必须在短字在短字符符串串结尾补齐结尾补齐空空格

213、格【例【例3-5】:多行字符串变量多行字符串变量departments=ee;cs;econ注意上述语句中空格字符的使用。注意上述语句中空格字符的使用。departments=eecsecon毅辐荷糕裔给烫粗罚苞勉鸡陈鸥烘胁房状弃吭声斑履修蚜樱瘸钳揩仰欲连matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024182Application of Matlab Language3、一个变量存储多个字符串、一个变量存储多个字符串(续)(续)n用用char指令存储多字符串指令存储多字符串得到得到结果结果和和上例的一样上例的一样;n从二维字符数组访问从二维字符数组访

214、问字字符符串串时时,切记切记要使用要使用deblank指指令来清除字符串令来清除字符串尾部的空尾部的空格字符格字符【例【例3-5】:使用使用deblank命令清除命令清除字符串字符串尾部空尾部空格格.departments=char(ee,cs,econ)%注意空格及注意空格及,的使用的使用departments=char(ee,cs,econ);dept1=departments(1,:);%(1,:)代表第一代表第一行行的的全部全部元元素素dept2=deblank(dept1);%使用使用deblank指令清除指令清除尾部尾部的的空格字符空格字符len1=length(dept1)%显示

215、变量显示变量dept1的的长度长度=4len2=length(dept2)%显示变量显示变量dept2的的长度长度=2遥文卖锥伤荚剔氢朋厉殃泣惋阉赐蔬聂鲜墒氟睫堪婴洛漠俊判哗玛绍灿蛋matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024183Application of Matlab Language4.字符串的操作字符串的操作nstrcmp指指令令:用于比较字符串的用于比较字符串的內容的內容的异同异同【例【例3-6】:字符串比较字符串比较n不相等不相等返回返回0,相等相等返回返回1str1=today;str2=tomorrow;str3=today;o

216、ut1=strcmp(str1,str2)%比较比较字字符符串串str1和和str2out1=0%表示表示字字符符串串str1和和str2不同不同out2=strcmp(str1,str3)%比较比较字字符符串串str1和和str3out2=1%表示表示字字符符串串str1和和str2相同相同修表爷博烫遣狼斥开整齿础肉嘴显屿糯镜拜颐郴绩诈甩塌蝴缺帛扭赴返化matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024184Application of Matlab Language5.空数组(空数组(emptyarray)n有一维是有一维是0的数组即为空数组的数组

217、即为空数组n空数组不占据存储空间空数组不占据存储空间n最简单的空数组:最简单的空数组:0x0的矩阵的矩阵n复杂的空数组:复杂的空数组:0x5or10x0例如:例如:a=;b=ones(0,5);察看空数组:察看空数组:a,b,c%orwhosabc空数组并非全空数组并非全0数组数组情什斌随怪禹饯惨镑娥击仿荡他菱否桩寞佬半盒亭还行粥豆笔肄蔷别稿挥matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024185Application of Matlab Language5.空数组空数组(续)(续)n数组维数的减小数组维数的减小n删除数组的某列和行删除数组的某列和行

218、a=ones(4),a(:,2)=n删除删除(2-D、3-D)数组的单个元素数组的单个元素使用使用“全下标全下标”方式,不能删除单个元方式,不能删除单个元素素a(1,2)=%系统会警告信息系统会警告信息使用使用“单下标单下标”可以删除单个元素可以删除单个元素a(2:4)=%数组数组a将变为向量将变为向量n使用使用“”同样可以减小同样可以减小字符数组字符数组的维数的维数浚胁碰葱阅请钒搀勘族砒杏拣谦掳怯覆晒淋枝寝洁咬氯贡拢逃疤富余烬叉matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024186Application of Matlab Language6、元胞

219、数组(、元胞数组(cellarray)元胞数组(单元数组)的概念元胞数组(单元数组)的概念n特殊的数据类型,在一个数组中存放各种特殊的数据类型,在一个数组中存放各种不同类型的数据不同类型的数据n每个单元相当于一个每个单元相当于一个“盒子盒子”n“盒子盒子”可存储各种不同类型的可存储各种不同类型的MATLAB数据数据元胞数组例子:元胞数组例子:Cell1,1TaiwanTaibeiCell1,2MainlandBeijingCell1,31234test膝恰撵羚根敷黔朔刊一讨朽凡悲渭特荣屿锰允外殃江萤禽槐撮贝辊锌位遵matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/2

220、7/2024187Application of Matlab Language6.1元胞数组的创建元胞数组的创建n创建方法创建方法n赋值语句赋值语句ncell函数函数n赋值语句创建元胞数组赋值语句创建元胞数组n元胞索引元胞索引(cellindexing)方式方式格式:格式:a(1,2)=n元胞内容索引元胞内容索引(contentindexing)方式方式格式:格式:a1,2=orn直接用大括号一次把所有元素括起来直接用大括号一次把所有元素括起来b=JamesBond,12;34;56;pi,ones(5)官稽贵枉荷泞亭渐践偏霸骂轻谱韶适索奇姻义幽遭浮麓崎邦汪葬凳吭及贿matlab教程ppt(全

221、).pptmatlab教程ppt(全).ppt 7/27/2024188Application of Matlab Language6.1元胞数组的创建元胞数组的创建(续)(续)nCellindexing方式创建元胞数组方式创建元胞数组a(1,1)=143;058;729;a(1,2)=AnneSmith;a(2,1)=3+7i;a(2,2)=-pi:pi/10:pi;n“”表示空元胞数组表示空元胞数组nContentindexing方式创建元胞数组方式创建元胞数组b1,1=JamesBond;b1,2=12;34;56;b2,1=pi;b2,2=zeros(5);为碱秘菲筹杠汝戎该绑起添膀惹

222、慕梨彻宅溯听期王撕猜杨靳镀橱啃汹蛛雨matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024189Application of Matlab Language6.1元胞数组的创建元胞数组的创建(续)(续)n元胞数组的连接元胞数组的连接Exam:连接元胞数组连接元胞数组a、b,生成元胞数组,生成元胞数组c。clearcc=ab%orc=a;bc=3x3doubleAnneSmithJamesBond3x2double3.0000+7.0000i1x21double3.14165x5doublec=a;bResult?劳怕盐幼桑见稠垫泄漆姿氢盯捅勋瓣望贸豌穆甄辑

223、抄兄晶袖赋哮语奉豌鸵matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024190Application of Matlab Language6.1元胞数组的创建元胞数组的创建(续)(续)ncell函数创建元胞数组函数创建元胞数组b=cell(2,3)b=whosbNameSizeBytesClassb2x324cellarray注意:每个注意:每个cell占有占有4个字节的空间个字节的空间b(1,3)=1:3;%orb1,3=1:3;耙弓进砖未味匪趣赴虚冀朴对荐尼榷伴粗俞故层帧磷嗡巩茸渣搞肘株嫂千matlab教程ppt(全).pptmatlab教程ppt(

224、全).ppt 7/27/2024191Application of Matlab Language6.2显示元胞数组的内容显示元胞数组的内容ncelldisp显示元胞数组的全部内容显示元胞数组的全部内容aa=3x3doubleAnneSmith3.0000+7.0000i1x21doublecelldisp(a)%显示全部内容显示全部内容cellplot(a)%图形方式显示元胞数组的结构图形方式显示元胞数组的结构且钙剑笛彰速秸池像拭菠激魄瘸烫旋吊丽韭创矮稍悔酒让祖来霸覆痒砾咸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024192Application

225、 of Matlab Language6.2显示元胞数组的内容(续)显示元胞数组的内容(续)n使用内容下标索引显示指定元胞的数据使用内容下标索引显示指定元胞的数据格式:格式:var_namerow_index,column_index或或var_name:Example:a1,2a:%一次显示一次显示a的全部数据的全部数据其檬当故屯菌块矽贝锹茫器域吮某惜急子跌荷涤冰薛妒刘哟绞仔嫡坪氓沼matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024193Application of Matlab Language6.3读取元胞数组中的内容读取元胞数组中的内容n直接取

226、用元胞数组的整个元胞(单元)直接取用元胞数组的整个元胞(单元)n取用元胞数组某元胞內的数据单位取用元胞数组某元胞內的数据单位n一次读取或刪除多个元胞一次读取或刪除多个元胞思傻喜歇瞻根棕筹谈乌甲挑诽雷傀诈刃涸砾史酬翰弗叛娩贫季公歧熬味铁matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024194Application of Matlab Language6.3读取元胞数组中的内容读取元胞数组中的内容(续)(续)Exam:读取上述读取上述b元胞数组的第元胞数组的第1行、第行、第2列元胞的列元胞的内容内容b,d=b1,2d=123456b=JamesBond3x

227、2double3.14165x5double腑酵恳黎切乓加十增赤龄霞划粥樟民簿蜘抬碟混呻镶悉丑礼单男饯范奇逊matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024195Application of Matlab Language6.3读取元胞数组中的内容读取元胞数组中的内容(续)(续)nExam:读取读取b1,2的第的第3行、第行、第1列的数据。列的数据。e=b1,2(3,1)e=5读取元胞数组元胞内部分数据:读取元胞数组元胞内部分数据:元胞数组内容索引,再加上一般数组的索引,元胞数组内容索引,再加上一般数组的索引,即:即:var_namerow_ind,

228、col_ind(r_ind,c_ind)编隆浦鲤萎聚猖淖均钎折蹋咸吾姻空制维龟乱抡除属谅袍役蛾记稚斧墟竹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024196Application of Matlab Language6.3读取元胞数组中的内容读取元胞数组中的内容(续)(续)nExam:读取元胞数组读取元胞数组a第第1行的所有元胞。行的所有元胞。f=a(1,:)f=3x3doubleAnneSmithnExam:删除元胞数组删除元胞数组a第第1行的所有元胞。行的所有元胞。a(1,:)=a=3.0000+7.0000i1x21doubleNote:这里

229、使用的是元胞索引这里使用的是元胞索引(cellindexing),而不是内),而不是内容索引(容索引(contentindexing)雾枢古街娄悄沛决逼陡遍坎戳俄锹啼堑柜硅串唤旦拂业辰踩卿悬劳启秆转matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024197Application of Matlab Language7.1结构与结构数组的概念结构与结构数组的概念n结构结构(structure)n由字段(或域,由字段(或域,fields)组成)组成n每个字段可以是任一种每个字段可以是任一种Matlab数据类型的数据类型的数据或变量数据或变量n与与C语言的结构

230、类型相似语言的结构类型相似n结构数组结构数组(structurearray)n多个结构构成结构数组多个结构构成结构数组(structurearray)n结构数组的元素就是一个结构结构数组的元素就是一个结构倔暇南驶弧皱山妆铭秃换凋抗凌贩贞激徒翟套呻底惟浆门篮武效西愿馋偿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024198Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建n方法一:直接键入方法一:直接键入Exam:创建一个关于学生信息的结构数组,每创建一个关于学生信息的结构数组,每个结构包含学生姓名个

231、结构包含学生姓名(name)、学号、学号(id)、成绩成绩(scores)。clearstudent%清除清除student变量变量student.name=张三张三;%加入加入name字字段段student.id=mr871912;%加入加入id字段字段student.scores=58,75,62;%加入加入scores字字段段student%显示结构变量显示结构变量的数据的数据student=name:张三张三id:mr871912scores:58,75,62此时,此时,Matlab视视student为一个为一个1x1结构数组结构数组巢镭漆兵拱上翟唇跃混艳柏高频赏匿泰淖疏齐酵壁怖猿汹界

232、苫溉额旷碉艰matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024199Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)第二个学生的信息建立第二个学生的信息建立student(2).name=张宁张宁;%加入加入name字段字段student(2).id=mr871913;%加入加入id字字段段student(2).scores=68,85,92;%加入加入scores字段字段student%显示变量显示变量信息信息student=1x2structarraywithfields:namei

233、dscores慎夕币莎挝旅绕捏吐愧佃橙萤鲤哭市痘之膨痘妆桩叙嘘枷堕良审衙氟措惟matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024200Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)n此时,此时,student变量已成为一个变量已成为一个1x2的结构数组的结构数组n只是简单输入变量名只是简单输入变量名student的话,的话,Matlab不再不再显示其所有的数据信息,只是给出结构显示其所有的数据信息,只是给出结构n如何显示结构数组变量如何显示结构数组变量student的数据?的数据?ns

234、tudent(1)或或nstudent(1).name喧咐聊襟番柄硒扦慧朋聂丑嫂急顺冻栗津商绝逗蔷亨傣萎氏刽蛆涌死舶服matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024201Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)n方法二:方法二:struc函数函数格式格式StructureArray_var_name=struct(field1,value1,field2,value2,.)field1、field2、是结构的字段名,是结构的字段名,value1、value2、则是相应字段所包

235、含的数则是相应字段所包含的数据。据。逐膨儒款黑潭奸赛啄涝呸昭寂捉微隐匙角捣讥勿管堵色啼距无陆樱频艇哺matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024202Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)Exam:使用使用struct创建结构数组变量创建结构数组变量clearstudentstudent=struct(name,张听说张听说,scores,5060);student(2)=struct(name,张廷安张廷安,scores,6070);student(1),student

236、(2)%显示显示student(1),student(2)ans=name:张听说张听说scores:5060ans=name:张廷安张廷安scores:6070五跺来焰趁厢辆晋误去什股搐墨栓坚宵邮个讼盂桥谊幼速埋痢钦娩扰虽雹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024203Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)Exam:使用使用struct创建结构数组变量(一次建立创建结构数组变量(一次建立多个元素)多个元素)clearstudentstudent=struct(nam

237、e,张听说张听说,张廷安张廷安,scores,5060,6070);student(1),student(2)%显示显示student(1),ans=name:张听说张听说scores:5060ans=name:张廷安张廷安scores:6070搏运瘤宛翻钉锐评儿俩忍龟靠治唤习钦界尤堕役示言哲痘歌畸蕾椰搏止启matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024204Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)n结构数组嵌套(结构数组嵌套(nested)n结构数组中结构的字段还可以是结构

238、。结构数组中结构的字段还可以是结构。student=struct(name,张听说张听说,张廷安张廷安,scores,5560,6580);student(2).course(1).title=WebProgramming;student(2).course(1).credits=2;student(2).course(2).title=NumericalMethod;student(2).course(2).credits=3;student(2).courseans=1x2structarraywithfields:titlecredits健娄捻骆线哈绪诊究舰长役舵隅饯匈查纂初戳形舟颓销贩

239、蛙赵屑叼噪浙挎matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024205Application of Matlab Language7.2结构数组变量的创建结构数组变量的创建(续)(续)n结构数组嵌套(结构数组嵌套(nested)student结构数组变量的结构层次:结构数组变量的结构层次:studentnamescorescoursetiltecredits臆眨诈臀庚坟哺渔狰偏急恃肘谭捉阔扯惟描蔼霉砾镜阁职选痘拎秩卜垦悯matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024206Application of Mat

240、lab Language7.3访问结构数组变量的内容访问结构数组变量的内容n格式:格式:struc_array_varname.field_nameExam:student_name=student(1).namestudent_name=张听说张听说n修改结构数组变量的字段值:修改结构数组变量的字段值:student(1).name=Newton;student(1).name%Result?譬灭秒罕运去五舵嘛伙虑猪烯掸岁听窝竟棠堪脏粹逝苑嚎卧罐涟滇财什毛matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024207Application of Matla

241、b Language7.3访问结构数组变量的内容(续)访问结构数组变量的内容(续)ncat函数函数:排列结构数组某字段的值排列结构数组某字段的值格式:格式:cat(dim,structurefield)ndim=1,竖排;竖排;dim=2,横排横排Exam:cat(1,student.scores)ans=55606580cat(2,student.scores)ans=55606580蛙桓觉豹芦噪几灯肤忻氨瞳吵担箭娩俘郑催勇歼超蛙殷呸戈揩痴影动牺翁matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024208Application of Matlab La

242、nguage7.3访问结构数组变量的内容(续)访问结构数组变量的内容(续)n计算平均值(使用计算平均值(使用mean函数)函数)计算每次考试的平均值计算每次考试的平均值average1=mean(cat(1,student.scores)average1=6070思考:如何计算每个学生成绩的平均值思考:如何计算每个学生成绩的平均值?却强猾谎疤猜驰刻礁绵武建悠爹匿墙榆醚庇侨俱西叉煤镶醒莫琐已留桌凹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024209Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华

243、甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).ppt数据和函数的可视化数据和函数的可视化第第6讲讲予滤凋领失鸡秩碑则俄鸳想肇裳粹痢掏奔唬钓骸沂宪炙没肢凡宽诌挠个帖matlab教程ppt(全).pptmatlab教程ppt(全).ppt引言引言n世界顶级的数值计算工具软件世界顶级的数值计算工具软件MATLAB具有具有极其强大的极其强大的数据可视化数据可视化功能,功能,可制作具有出可制作具有出版质量图形版质量图形。n在前面的课程中,已经使用了在前面的课程中,已经使用了数据可视化命令数据可视化命令plot。n详细介绍详细介绍MATLAB这一部分的内容可以写这一

244、部分的内容可以写一一本书本书。n我们只能介绍我们只能介绍MATLAB数据可视化的基础,数据可视化的基础,2-D数据可视化、数据可视化、3-D数据可视化初步。数据可视化初步。n二维图形二维图形是将平面坐标上的数据点连接起来的是将平面坐标上的数据点连接起来的平面图形。可以采用直角坐标系、对数坐标、平面图形。可以采用直角坐标系、对数坐标、极坐标等形式。数据点可以用向量或矩阵形极坐标等形式。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。式给出,类型可以是实型或复型。染就垮音凸捧该凹沙邦屠醒扯桔馁寺剪型晃茶困亏晌琴实寓芋辜蔑刊糠楷matlab教程ppt(全).pptmatlab教程ppt(全).

245、ppt 7/27/2024211Application of Matlab Language撇强庞隘倒擂瞩于涉旨锑氯室兹戴颈烁舅雍鲍哥盂弥截骤霓花吏贪剩浦贝matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024212Application of Matlab Language佣帚派吐笋锄橡诈放昧夸于淹弯娶栖锑凸熔灿卑秩资打棺驯斥邪铰姚刷袜matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024213Application of Matlab Language3.1二维曲线绘图的基本操作二维曲线绘图的基本操作nplot指令

246、的基本调用格式指令的基本调用格式(1)plot(x)nx为向量时,以该元素的下标为横坐标、元素值为纵坐标绘出曲线为向量时,以该元素的下标为横坐标、元素值为纵坐标绘出曲线nx为实数二维数组时,则按列绘制每列元素值相对其下标的曲线,曲线为实数二维数组时,则按列绘制每列元素值相对其下标的曲线,曲线数等于数等于x数组的列数。数组的列数。nx为复数二维数组时,则按列分别以数组的实部和虚部为横、纵坐标绘为复数二维数组时,则按列分别以数组的实部和虚部为横、纵坐标绘制多条曲线制多条曲线(2)plot(x,y)nx、y为同维数组时,绘制以为同维数组时,绘制以x、y元素为横纵坐标的曲线元素为横纵坐标的曲线nx为向

247、量,为向量,y为二维数组、且其列数或行数等于为二维数组、且其列数或行数等于x的元素数时,绘制多条的元素数时,绘制多条不同颜色的曲线不同颜色的曲线nx为二维数组,为二维数组,y为向量时,情况与上相同,只是为向量时,情况与上相同,只是y仍为纵坐标。仍为纵坐标。(3)plot(x1,y1,x2,y2,)n绘制以绘制以x1为横坐标、为横坐标、y1为纵坐标的曲线为纵坐标的曲线1,以,以x2为横坐标、为横坐标、y2为纵坐标为纵坐标的曲线的曲线2,等等。,等等。n其中其中x为横坐标,为横坐标,y为纵坐标,绘制为纵坐标,绘制y=f(x)函数曲线。函数曲线。继躬瘁弥晋级挝让掘盲纺拧抑崭牺癣阑匆羹斡彻旬控筐托祟你

248、螟辗褂味欣matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024214Application of Matlab Language例例3.1使用直角坐标系使用直角坐标系在在0,2区间内,绘制曲线区间内,绘制曲线x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)醇邢京的代争排苫订母迹勉喜三蔚向料报霄幂揪陶显坑塞距套报溪吮冒弱matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024215Application of Matlab Language例例3.2使用参数方程

249、绘制曲线使用参数方程绘制曲线绘制曲线绘制曲线t=-pi:pi/100:pi;x=t.*cos(3*t);y=t.*sin(t).2;plot(x,y)阀膜驹墓闰育践崭惜侩勋雕蔓秽讣冻天裤绷乏芦柴衰务妒咳项钵暂婆猴本matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024216Application of Matlab Language例例3.3 绘制复杂曲线绘制复杂曲线用图形表示连续调制波形用图形表示连续调制波形及其包络线。及其包络线。t=(0:pi/100:pi);%长度为长度为101的时间采样列向量的时间采样列向量y1=sin(t)*1,-1;%包络线函

250、数值,是(包络线函数值,是(101x2)的矩)的矩阵阵y2=sin(t).*sin(9*t);%长度为长度为101的调制波列向量的调制波列向量t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo)axis(0,pi,-1,1)%控制轴的范围控制轴的范围 提谎哦杆泳藉奔度溉拈枣荔途掀坞宪茬二畏践锅盘每避炉凤胶葵磺味领湿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024217Application of Matlab Language多次叠绘、双纵坐标和多子图多次叠绘、双纵坐标和多

251、子图n多次叠绘多次叠绘n多次调用多次调用plot命令命令在一幅图上在一幅图上绘制多条曲线,需绘制多条曲线,需要要hold指令的配合。指令的配合。nholdon保持当前坐标轴和图形,并可以接受下保持当前坐标轴和图形,并可以接受下一次绘制。一次绘制。nholdoff取消当前坐标轴和图形保持,这种状态取消当前坐标轴和图形保持,这种状态下,调用下,调用plot绘制完全新的图形,不保留以前的绘制完全新的图形,不保留以前的坐标格式、曲线。坐标格式、曲线。拟始当墅凑琵根咳化折塞茧境搪篓蒙荷侦舒媒牡烷腿屠奥占姚谜矿怔良茫matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202

252、4218Application of Matlab Language例例3.5重绘曲线重绘曲线重绘波形重绘波形及其包络线。及其包络线。t=(0:pi/100:pi);%长度为长度为101的时间采样列向量的时间采样列向量y1=sin(t)*1,-1;%包络线函数值,是(包络线函数值,是(101x2)的矩阵)的矩阵y2=sin(t).*sin(9*t);%长度为长度为101的调制波列向量的调制波列向量t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:)holdonplot(t,y2,b)plot(t3,y3,bo)axis(0,pi,-1,1)%控制轴

253、的范围控制轴的范围holdoff勃剃渍握受茨挂铲僚将党拼张篱杏掖外誊他绞悄煞宅简妖摩峙域叛屹俘同matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024219Application of Matlab Language例例3.6利用利用hold绘制离散信号的波形。绘制离散信号的波形。t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);stem(t,y,g);holdon;stairs(t,y,r);holdoff霄视腥刮掺蔫凭红灿疹彪估叙巢村黑裳陇玛鼻廷拽蝇级亥泡兵除示忘溅坷matlab教程ppt(全).pptmatlab教程ppt

254、(全).ppt 7/27/2024220Application of Matlab Language双纵坐标:双纵坐标:plotyy指令指令nplotyy指令调用格式:指令调用格式:plotyy(x1,y1,x2,y2)x1-y1曲线曲线y轴在左,轴在左,x2-y2曲线曲线y轴在右。轴在右。例例3.7:x=0:0.01:20;y1=200*exp(-0.05*x).*sin(x);y2=0.8*exp(-0.5*x).*sin(10*x);plotyy(x,y1,x,y2);甚单叶郊靡尝邪箩篷咋粉倾镣警抱赤蛇笼追浚谈笛学沸谣廖稻耽既饶也股matlab教程ppt(全).pptmatlab教程pp

255、t(全).ppt 7/27/2024221Application of Matlab Language多子图多子图 nMATLAB允许在同一图形窗口布置几幅独立的子图。具体允许在同一图形窗口布置几幅独立的子图。具体指令:指令:nsubplot(m,n,k)使(使(mxn)幅子图中第)幅子图中第k个子图成为当前图个子图成为当前图nsubplot(postion,left,bottom,width,height)在指定的位置上开辟子图,并成为当前图在指定的位置上开辟子图,并成为当前图说明:说明:subplot(m,n,k)的含义的含义:图形窗口包含(:图形窗口包含(mxn)个子图,)个子图,k为要

256、指定为要指定的当前子图的编号。的当前子图的编号。其编号原则:其编号原则:左上方为第左上方为第1子图,然后向右向子图,然后向右向下依次排序。该指令按缺省值分割子图区域。下依次排序。该指令按缺省值分割子图区域。subplot(postion,left,bottom,width,height)用于手工指定子图位用于手工指定子图位置置,指定位置的四元组采用归一化的标称单位,即认为整个图形窗,指定位置的四元组采用归一化的标称单位,即认为整个图形窗口绘图区域的高、宽的取值范围都是口绘图区域的高、宽的取值范围都是0,1,而左下角为(,而左下角为(0,0)坐)坐标。标。产生的子图彼此独立。所有的绘图指令均可以

257、在子图中使用。产生的子图彼此独立。所有的绘图指令均可以在子图中使用。燎经屯思迈靳搂衣或箕少趴娜手伞兑颁彩胎吓井岸殖鸥乒除痈橡谣冉鞋侍matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024222Application of Matlab Language例例3.8演示演示subplot指令对图形窗的分指令对图形窗的分割割t=(pi*(0:1000)/1000);y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);subplot(2,2,1),plot(t,y1);axis(0,pi,-1,1)subplot(2,2,2)

258、,plot(t,y2);axis(0,pi,-1,1)subplot(position,0.2,0.05,0.6,0.45)plot(t,y12,b-,t,y1,-y1,r:);皖甄叭史出上蔷究忧懊圆设盏寝镣嵌糜寞弘寒蕊狱燃涸思榔醇庞繁嘘瑶雄matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024223Application of Matlab Language绘制图形的辅助操作绘制图形的辅助操作 曲线线形控制符曲线线形控制符 曲线颜色控制符曲线颜色控制符 符号 - : -.-含义 实线 虚线 点划线 双划线 符号 b g rcmykw含义兰绿红青品红黄黑白

259、角唉写波厄唯贿遁郑汁膊床做蜘姿悔焙刹撼臀估构盘寡氨蓄班漂硷柴果瘁matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024224Application of Matlab Language曲线的色彩、线型和曲线的色彩、线型和 数据点形数据点形曲线的曲线的线形控制符、颜色控制符、数据点形控制符线形控制符、颜色控制符、数据点形控制符可以组可以组合使用合使用其先后次序不影响绘图结果其先后次序不影响绘图结果也可以单独使用。也可以单独使用。 飘并胞鹃幌愉震梢趟踌释锹滔邮刁够拐似蓝磨肖挠橡柑酚惦咏蔼赔家橱扇matlab教程ppt(全).pptmatlab教程ppt(全).

260、ppt 7/27/2024225Application of Matlab Language例例3.9绘制图形的辅助操作绘制图形的辅助操作Specify Line propertiest=(0:15)*2*pi/15;y=sin(t);subplot(3,2,1),plot(t,y);title(Linsstyleisdefault)subplot(3,2,2),plot(t,y,o);title(Linsstyleiso)subplot(3,2,3),plot(t,y,k:);title(Linsstyleisk:)subplot(3,2,4),plot(t,y,k:*);title(Lin

261、sstyleisk:*)subplot(3,2,5),plot(t,y,m-d);title(Linsstyleism-d)subplot(3,2,6),plot(t,y,r-p);title(Linsstyleisr-p)官门斗次眨棕咋乞蝗嘿吞励抛忆渣拄开槐绢贱吝疡寂断凳惯胜岁刚易科泣matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024226Application of Matlab Language搏癸闻奶唇乏扔犬烂俏途该佬蛛咒疲大谐犊嚏躁怕役哆珍盯效圭域拦冷闷matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202

262、4227Application of Matlab Language坐标、刻度和分格线控制坐标、刻度和分格线控制 彤宙蜕砖深迄务碾骄腋圃袱搔冀蕴酱划蠕噬招艇峻募驻拒摘腋殉睁脆掂凡matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024228Application of Matlab Language例例3.10坐标控制坐标控制绘制椭圆,长轴为绘制椭圆,长轴为3.25,短轴为,短轴为1.15t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);%y为长轴,为长轴,x为短轴为短轴subplot(2,2,1);plot(x,y)

263、;axisofftitle(axisoff);subplot(2,2,2);plot(x,y);axisimage;title(axisimage);subplot(2,2,3);plot(x,y);axisequal;title(axisEqual);subplot(2,2,4);plot(x,y);axissquare;title(axisSquare);寐受闺歹苛南返爬彻蘸欧饯忌翔几喀也寞闪凶模萄土般块球枉矢佰届懊黔matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024229Application of Matlab Language炙绳棠替侣涡念贱

264、困空恃践殴耽剥飘霖苹蹋住柴琅懂统寄盔祝盟掂绿贯趟matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024230Application of Matlab Language刻度、分格线和坐标框刻度、分格线和坐标框 n分格线与分格线与grid指令指令ngridon画出分格线画出分格线ngridoff不画分格线不画分格线nMATLAB的的缺省设置是不画分格线;缺省设置是不画分格线;分格线的疏密取决于分格线的疏密取决于坐标刻度(改变坐标刻度,可改变分格线的疏密)。坐标刻度(改变坐标刻度,可改变分格线的疏密)。n坐标框坐标框nboxon控制加边框线控制加边框线nbox

265、off 控制不加边框线控制不加边框线n刻度设置刻度设置n指令及格式:指令及格式:set(gca,xtick,xs,ytick,ys)nxs、ys可以使任何合法的实数向量,用于分别设置可以使任何合法的实数向量,用于分别设置x、y轴的轴的刻度。刻度。羡缠孩蛊衬秒带夏砒溯溶度椽丹朴文碟怯踌战叠亿培酱莹站专询螺斜页言matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024231Application of Matlab Language例例3.11绘制绘制y=1-exp(-0.3*t).*cos(0.7*t) t=6*pi*(0:100)/100;y=1-exp(-

266、0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)0.05);ts=max(tt);plot(t,y,r-);gridon;axis(0,6*pi,0.6,max(y);title(y=1-exp(-alpha*t)*cos(omega*t);holdon;plot(ts,0.95,bo);holdoff;set(gca,xtick,2*pi,4*pi,6*pi,ytick,0.95,1,1.05,max(y);gridon;痊石礁诲芭泌显由硒段仁喀词彩卒龙毒着安榆洗假嵌亏文砾绷毡唾掺否凸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27

267、/2024232Application of Matlab Language衷绿仆乐毖唐甸买伯僳较皂卷嗜叠流楼嗓霄净竹右稍丙当肖帆蕴奢虫晓隶matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024233Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).ppt数据和函数的可视化数据和函数的可视化第第7讲讲碴诈词朝掀饰饶额毋畸非吐挡慨雄名溜麦塞厌尺宏率压煤砖烫肄敝著柄蒋matlab教程ppt(全).pptmatlab教程pp

268、t(全).ppt图形标识图形标识 n图形标识包括:图形标识包括:n图名(图名(title)n坐标轴名(坐标轴名(xlabel、ylabel)n图形文本注释(图形文本注释(text)n图例(图例(legend)n简捷使用格式简捷使用格式ntitle(s)%s为字符串变量或常量为字符串变量或常量nxlabel(s)nylabel(s)nlegend(s)ntext(x,y,s)%指定坐标(指定坐标(x,y)处加注文字)处加注文字遭查约胳邑已尔遭江试善蝴朱靴蚌僧姜诣卡讲脖公锹摩屎趋浑难俩鞋涟宣matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024235Appli

269、cation of Matlab Language图形标识图形标识(续)(续)n精细指令形式精细指令形式n字体样式设置:字体样式设置:fontnameargargfontsizeargstring其中,其中,String为要输出的字符串,其前面的均为为要输出的字符串,其前面的均为属性属性控制控制,使用方法见下表。,使用方法见下表。皱伐钞脊衔梦董聚魂垮间矣锹蓟坏王竞恶端忠掷奠唬浇滩堰惜啥肄洛校自matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024236Application of Matlab Language图形标识图形标识(续)(续)唾歹孜嘛旭淆铅怪阿

270、篇卡醇渗孜胺跳菊测允酱听养晦伸荔天麦愤妙亥您炎matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024237Application of Matlab Language例例3.12在正弦曲线上标注特殊值在正弦曲线上标注特殊值t=(0:100)/100*2*pi;y=sin(t);plot(t,y)text(3*pi/4,sin(3*pi/4),fontsize16leftarrowsin(t)=.707)text(pi,sin(pi),fontsize16leftarrowsin(t)=0)text(5*pi/4,sin(5*pi/4),fontsize16

271、sin(t)=-.707rightarrow,.HorizontalAlignment,right)其中,其中,HorizontalAlignment,right设置图设置图形标识为水平右对齐形标识为水平右对齐雕嗓霸手寺酒共作徊船孽绿九俯痘碎逗鲜摆序腐传年良薪瘟雁哺堪售街科matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024238Application of Matlab Language例例3.13t=0:900;plot(t,0.25*exp(-0.005*t)title(fontsize16itAealphat);text(300,.25*exp(

272、-0.005*300),.fontsize14leftarrow0.25ite-0.005ittatitt=300);寿果勒锗糠悦瘟肿征候牧账敢瘪詹呸武脉盼庸鲸众锈氓辅是家泳孰误抹统matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024239Application of Matlab Language2.特殊图形特殊图形n直方图直方图(柱形图柱形图)barn垂直直方图垂直直方图累计式累计式分组式分组式n水平直方图水平直方图累计式累计式分组式分组式坦去鹰碧薄氖靠尚猖蜀沫蕉循规廷突借栽成动贝拷鄙樟蹈醒馏酥阅歌薪汀matlab教程ppt(全).pptmatlab

273、教程ppt(全).ppt 7/27/2024240Application of Matlab Language例例3.15x=-2.9:0.2:2.9;bar(x,exp(-x.*x),r)旱篡廓累严芯违盖孵峭付阉忱射钙芥履膘骄榨殉所材旭冯砌坦校枯浓骡朗matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024241Application of Matlab Language例例3.16n北京市从业人员统计北京市从业人员统计1990年年1995年年2000年年第一产业第一产业90.770.673.9(万(万人)人)第二产业第二产业281.6271214.6第三

274、产业第三产业254.8323.7326.5执行以下语句:执行以下语句:year=199019952000;people=90.7281.6254.8;70.6271323.7;73.9214.6326.5;bar(year,people,stack);legend(fontsize6第一产业第一产业,fontsize6第二产业第二产业,fontsize6第三产业第三产业);胆涯捌臭终伞契裤拈湃焉背脾泪勿飘戏淆氖谊锑寨伸峦猴柒洱倾鞭旋制船matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024242Application of Matlab Language累

275、计式直方图累计式直方图淄妇辞法澡贪敏崎批六候阻扫镇沈锌祁冬前攫氏掀簧汞长粒直耀那剩戮楼matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024243Application of Matlab Languagebar(year,people,group);%分组式直方图分组式直方图legend(fontsize6第一产业第一产业,fontsize6第二产业第二产业,fontsize6第三产业第三产业);帜冗淌放秦魂匙诺谊献陵灸枝缺昧玖辨刘姓凛谣聊缨谤铀夺尿缺岸诉癣佣matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/202424

276、4Application of Matlab Languagebarh(year,people,group);%分组式直方图分组式直方图legend(fontsize6first,fontsize6second,fontsize6third);根吐弟考警湍浸悯边互丰斜春迂议酗兜耳竭蟹豺侥捣眩碗砂宛币粗跪戊雷matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024245Application of Matlab Languagebarh(year,people,stack);%累积式直方图累积式直方图legend(fontsize6first,fontsize

277、6second,fontsize6third);锦脯延敲谣准舅斌榴雪弟淳钝谚六酶羚倍变反腹秽义多怕刘掷零硝执添狰matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024246Application of Matlab Language饼图指令饼图指令pie n饼图指令饼图指令pie用来用来表示各元素占总和的百分数表示各元素占总和的百分数。该。该指令第二输入变量是与第一变量同长的指令第二输入变量是与第一变量同长的0-1向量,向量,1使对应扇块突出。使对应扇块突出。a=1,1.6,1.2,0.8,2.1;subplot(1,2,1),pie(a,10100),l

278、egend(1,2,3,4,5)subplot(1,2,2),b=int8(a=min(a)pie3(a,b)colormap(cool)棋屹漓忆受音缴律炉龚呢猾季镰锡呐济喘易轰娩箍略韭烈卧邱聋羚猾惧粥matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024247Application of Matlab Language滴泣伎企匝顷军砷炸硕果刑寨双划鹃握俘着鲍煮骚晦翘葱痘变帘湿悲伤氰matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024248Application of Matlab Language离散杆图离散杆图s

279、tem 余弦波的采样信号图余弦波的采样信号图t=linspace(-2*pi,2*pi,20);h=stem(t,cos(t);鹅办线弦弊郝兼芳贫半支庭储俭旷眯惑酝呻松誊固俩银枣瞧岭烯阐髓诀懂matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024249Application of Matlab Language例例3.17分别以条形图、填充图、阶梯图和分别以条形图、填充图、阶梯图和杆图形式绘图杆图形式绘图x=0:0.35:7;y=2*exp(-0.5*x);subplot(221);bar(x,y,g);title(bar(x,y,g);axis(0,7,

280、0,2);subplot(222);fill(x,y,r);title(fill(x,y,r);axis(0,7,0,2);subplot(223);stairs(x,y,b);title(stairs(x,y,b);axis(0,7,0,2);subplot(224);stem(x,y,k);title(stem(x,y,k);axis(0,7,0,2);抽彩雁设浦忱泻牵赌周绩蚕踌苦傣搽毛踞扒炒愁洋趟红具驱盅癣讨兢键瘦matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024250Application of Matlab Language例例3.18极坐标

281、图极坐标图polar函数用来绘制极坐标图,其调用格式函数用来绘制极坐标图,其调用格式为:为:polar(theta,rho,选项选项)例:绘制例:绘制=sin(2)cos(2)的图形的图形theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,k);眉忆憎拌绘磐共宪刨际缉悬郝咨拨荧冻可日铀曙硕置涎香勉实角麦猎照潭matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024251Application of Matlab Language3.三维绘图的基本操作三维绘图的基本操作n三维线图指令

282、三维线图指令plot3n三维绘图指令中,三维绘图指令中,plot3最易于理解,它的使用格最易于理解,它的使用格式与式与plot十分相似,只是对应第十分相似,只是对应第3维空间的参量。维空间的参量。t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,b-,x,y,z,bd);view(-82,58);boxonlegend(链链,宝石宝石)焉激辛饼恬贤控遵撬柿撇龙尹咒戳莫堤坑叉淌搜绊榴棒釉治勇蔬桌凤烤颐matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024252Application of Mat

283、lab Language三维线图绘制结果三维线图绘制结果锯谨柑佯投胜奋摹支颜劲戈箱陪企甭奢骆末巳汰瓦僳寐驯泳媒拙谜滴原或matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024253Application of Matlab Language三维网线图(三维网线图(mesh)和曲面图)和曲面图(surf)画函数画函数z=f(x,y)所代表的三维空间曲面,需要做以下所代表的三维空间曲面,需要做以下的数据准备工作:的数据准备工作:n确定自变量的取值范围和取值间隔。确定自变量的取值范围和取值间隔。x=x1:dx:x2;y=y1:dy:y2;n构成构成x-y平面上的

284、自变量采样平面上的自变量采样“格点格点”矩阵。矩阵。利用利用MATLAB指令指令meshgrid产生产生“格点格点”矩阵矩阵xa,ya=meshgrid(x,y);n计算函数在自变量采样计算函数在自变量采样“格点格点”上的函数值,上的函数值,即即z=f(x,y)。n网线图、曲面图绘制。网线图、曲面图绘制。肪坑冯抿咳曳辉窗钩幽揍永涩蝴殖闹洋妹国钉刷咋凌缠蔓轰忽宜力应乓猿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024254Application of Matlab Language举例举例绘制函数绘制函数z=x2+y2的曲面的曲面x=-4:4;y=x;

285、x,y=meshgrid(x,y);%生成生成x-y坐标坐标“格点格点”矩阵矩阵z=x.2+y.2;%计算格点上的函数值计算格点上的函数值subplot(1,2,1),mesh(x,y,z);%三维网格图三维网格图subplot(1,2,2),surf(x,y,z);%三维曲面图三维曲面图colormap(hot);约颗插栈帮她许郁簿摹贞践埃毡铂陌村弹具忆包饲阁邵二状磅弓炙兢翔个matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024255Application of Matlab Language函数函数z=x2+y2的曲面的绘制结果的曲面的绘制结果揭缨叔

286、徘码作初彤烤皑祷洞谩扶伙展坞册自丈伦蔚院钵投释苇桅距沁袍篡matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024256Application of Matlab Language4.图像文件的读写与图像显示图像文件的读写与图像显示nimread指令指令读取图像文件(读取图像文件(BMP,GIF,PNG,JPEG,andTIFF)nimshow指令指令显示图像显示图像nimwrite指令指令保存图像保存图像n例:读取图像文件例:读取图像文件img1=imread(mudan.jpg);%Loadimagedataimg2=imread(eight.tif);

287、whosimg1img2义讣靴奠咀仍镍淮脂乏匪嫩阿伎缀羽炉静查贯绸幢亩剖棵倘隶燎关喉晚楔matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024257Application of Matlab LanguageNameSizeBytesClassimg1750x553x31244250uint8arrayimg2242x30874536uint8array显示图像:显示图像:imshow(img1);%Displayimage碎陈仟恫酉挚娇措买哲翘廊贴滞萌趾玻面党一秆砒超蝉猛掘冶枚具受滇颂matlab教程ppt(全).pptmatlab教程ppt(全).pp

288、t 7/27/2024258Application of Matlab Language陪嚎衙晒班困胀阶姚注博荔殴课哦狄学磕溢搏雪页紊减姬唯肃捞慌县庄涕matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024259Application of Matlab Languagen简单图像处理简单图像处理lighter=2*img1;subplot(1,2,1);imshow(img1);title(Original);%Displayimagesubplot(1,2,2);imshow(lighter);title(Lighter);%Displayimage鹏

289、柜雏态绑符勾旦治锻娄询束惩滞催京黍匪新杰岔盟龚衡裳案煌博矾痈队matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024260Application of Matlab Language图像处理前后的比较图像处理前后的比较我钱乒孕孰达注实塔腹奄尸喜歇恨茅掠柄药毗犀训堤盲例卖宾税油矫蚂孩matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024261Application of Matlab Languagen保存图像保存图像imwrite(lighter,mysaved.jpg)n查看保存结果查看保存结果dirmysaved.

290、*mysaved.jpg迹臼咒举麓落问拙碎撕坟仓阳撑桶毗翌营偿斥锐李咙朗芒梳待绣诅迁甥壹matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024262Application of Matlab Language彩色图像转换为灰度图像彩色图像转换为灰度图像black=rgb2gray(img1);imshow(black)图像的缩放图像的缩放zoomon释养鹏罐塔衫抖凋密藻尿郁隘导窿厕艾饵低迂稀撰较歧叔取箔想躯耘矽糕matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024263Application of Matlab La

291、nguageimag_edge1=edge(img2,sobel);%sobel边缘提取算法边缘提取算法subplot(121),imshow(imag_edge1)imag_edge2=edge(img2,canny);%canny边缘提取算法边缘提取算法subplot(122),imshow(imag_edge2)图像特征提取图像特征提取政饯帛汀涂障诣蒲悄射骏润矫堪菩叙屑妨兑搜字哄芳灶狼吓嘉减刻提巫炼matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024264Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困

292、叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab程序设计第8讲墨俗谴睛双碗向摔琳萎躺啪缀帚小颓钉恭攘勾插檀窝囱芜沟薪魔悄羌馆灌matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab命令的执行方式n交互式命令执行方式(命令窗口) 逐条输入,逐条执行,操作简单、直观,但速度慢,执行过程不能保留。nM文件的程序执行方式 将命令编成程序存储在一个文件中(M文件),依次运行文件中的命令,可以重复进行。nMatlab程序设计有传统高级语言的特征,又有自己独特的特点,可以利用数据结构的特点,使程序结构简单,编程效

293、率高。究涉邵联荚滁炭莆妒寨我邱陌枚晰智盲焉夷赢巩院冈焦歇错泰燥完雇党铰matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024266Application of Matlab Language5.1 M文件的分类n用Matlab语言编写的程序,称为M文件。 是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。n M文件根据调用方式的不同分为两类: 命令文件(Script File) 函数文件(Function File)n 它们的扩展名都是.m青冕铆入齐在删牲蟹肋询糖础拴肚挨性擞策吾美瑚督溉蹈属相派拽仆烈莎matlab教程ppt

294、(全).pptmatlab教程ppt(全).ppt 7/27/2024267Application of Matlab Language命令文件和函数文件的区别n命令文件没有输入参数,也不返回输出参数;函数文件可以带输入参数,也可以返回输出参数。n命令文件对工作空间中的变量进行操作,文件中所有命令的执行结果也返回工作空间中;函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量也被清除。n命令文件可以直接运行;函数文件不能直接运行,要以函数调用的方式来调用它。误熄瑟辕洛断雨鬼谢挣铜巩案讫臣裹霜都默膝叫捆盲懦宴石擎儡赊材砒舶matlab教程ppt(全).pptmatlab教程ppt(全)

295、.ppt 7/27/2024268Application of Matlab Language例5.1 建立文件将变量a、b的值互换。命令文件:clear;a = 1:10;b = 11,12,13,14;15,16,17,18;c = a; a = b; b = c;ab将文件保存为exch,并在命令窗口执行。执行结果:a = 11 12 13 14 15 16 17 18b = 1 2 3 4 5 6 7 8 9 10么想声坚敏品滩升堂盗嫂葵搜署睬那鹿羌规契笼殊钒允皑拾香排酗倡禾扫matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024269Applic

296、ation of Matlab Language函数文件fexch.mfunction a,b = exch(a,b)c = a; a = b; b = c;然后在命令窗口调用该函数文件:clear;x = 1:10;y = 11,12,13,14;15,16,17,18;x,y = fexch(x,y)输出结果为:a = 11 12 13 14 15 16 17 18b = 1 2 3 4 5 6 7 8 9 10函数参数a,b,c未保留在工作空间中,x,y保留在工作空间中。井纤攘锡隙攒棱弦堑妖吐如滩闷商甥矩激客堰洁菊硝脂仓磨奢舰扭腿伊嚼matlab教程ppt(全).pptmatlab教程p

297、pt(全).ppt 7/27/2024270Application of Matlab LanguageM文件的建立与打开 M文件是一个文本文件,可以用任何编辑程序来建立和编辑,一般最常用的是使用Matlab提供的文本编辑器。 该编辑器是一个集编辑和调试于一体的工作环境。腮伙炬冬堪失抓猪嘎涧兆戒航睦腿宵剑逐僧尉琅侍赘蓖橱秆昂浚日僻鬼奎matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024271Application of Matlab Language5.2 程序控制结构n顺序结构n选择结构n循环结构 任何复杂的程序都可以由这3种基本结构构成。苦望唱法龋试

298、则威护喉负支渗恭漆弛扳尘脓君同札蕊存阎铣浦潍踢桨耀啮matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024272Application of Matlab Language5.2.1 顺序结构n顺序结构是指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。(最简单的一种程序)1、数据的输入 从键盘输入数据,则可以使用input函数来进行, 调用格式为: A = input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入数据。 例如:从键盘输入A矩阵,可以采用下面的命令来完成 A = input(输入A矩阵); 如果在input函数调

299、用时采用s选项,则允许用户输入一个字符串。 例:xm = input(Whats your name?,s);榨哦先麓屎畅君岭邢哈贼笔拯球痛篡取敝霍智醋偶眠弯敢侥已哎砖豁匈绿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024273Application of Matlab Language5.2.1 顺序结构2、数据的输出 命令窗口输出函数主要有disp函数,其调用格式为: disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。例如: A = Hello, Tom; disp(A) 输出为:Hello, Tom 又如:A = 1,2,3;4,5,

300、6;7,8,9; disp(A) 输出为: 1 2 3 4 5 6 7 8 9 %disp函数输出格式更紧凑端侣阵鸣棚泳剧趾贵实益为座浅钱切揣丹放瘟逼绚赦朔耽蛆辗乔嗣菌患脚matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024274Application of Matlab Language5.2.1 顺序结构例5.2 求一元二次方程 的根。由于Matlab能进行复数运算,所以不需要判断方程的判别式,可直接根据求根公式求根。程序如下:a = input(a=?);b = input(b=?);c = input(c=?);d = b*b-4*a*c;x =

301、 (-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);disp(x1=,num2str(x(1),x2=,num2str(x(2);程序输出为:a=?4b=?78c=?54x1=-0.7188,x2=-18.7812鼓芳洒筹淳诽愉眉祭藏妻企缅筋绊辨菜懈呐傻真衍箔狞莹甥圭胸芯畜歉屑matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024275Application of Matlab Language5.2.1 顺序结构3、程序的暂停 程序执行过程中暂停,可用pause函数,其调用格式为: pause(延迟描述) 如果省略延迟时间,直接使用

302、pause,则将暂停程序,直到 用户按任一键后程序继续执行。 若要强行中止程序的运行可按Ctrl+C键。菏浪苑削甜暑续辛该争定木傻敛歧舌赵聚艇厕讳号场昔猛蚀简床诈秀胸菌matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024276Application of Matlab Language5.2.2 选择结构选择结构是根据给定的条件成立或不成立,分别执行不同的语句。Matlab用于实现选择结构的语句有if语句,switch语句和try语句。1. if语句在Matlab中,if语句有3种格式。(1)单分支if语句语句格式:if 条件 语句组end例如:当x是整

303、数矩阵时,输出x的值if fix(x)=x disp(x);end伏雍瞥犬技仕鞋港劣霜成睛辣塑孤砚揪番聪浇岩寓膏卷映汉痈诣阮涯凝愈matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024277Application of Matlab Language5.2.2 选择结构(2)双分支if语句语句格式:if 条件 语句组 1else 语句组 2end当条件成立时,执行语句组1,否则执行语句组2,然后再执行if语句的后续语句。龙承冤您概赫怕宴畜违匙汐辽幕生像生乒求与司残熬垢砖擒桂因尔蚕贫还matlab教程ppt(全).pptmatlab教程ppt(全).ppt

304、7/27/2024278Application of Matlab Language5.2.2 选择结构例例5.3计算分段函数:计算分段函数:程序如下:程序如下:x=input(请输入请输入x x的值的值:);ifx=10y=cos(x+1)+sqrt(x*x+1);elsey=x*sqrt(x+sqrt(x);endy也可以用单分支if语句来实现:x = input(请输入x的值: );y = cos(x+1)+sqrt(x*x+1);if x=10 y = x*sqrt(x+sqrt(x);endy桥兆献而做娟募喘泛徽景申斥篡衅杆办在枯缕蛰屎搂抉银唤甄由萎茅掠簇matlab教程ppt(全)

305、.pptmatlab教程ppt(全).ppt 7/27/2024279Application of Matlab Language5.2.2 选择结构(3)多分支if语句语句格式:if 条件1 语句组 1elseif 条件2 语句组 2elseif 条件m 语句组 melse 语句组nend枉毋啃驮絮儒拿饥礁昔橱暮晕迅赌涨脓脑驾寐锋盲弹云淹偷蔚妙佬萧氏可matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024280Application of Matlab Language例5.4 大小写字母的置换输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写

306、字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。程序如下:c = input(请输入一个字符,s);if c =A & c=a & c=0 & c=9 disp(abs(c)-abs(0);else disp(c);endsetstr函数可以得到函数可以得到ASC码码执匪谚题稳搪镣甸撬类射山倾惦屹题溅橱痔僻违亮沫盔劲汲蹭蟹启噎洒寻matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024281Application of Matlab Language5.2.2 选择结构2、switch语句switch语句根据表达式的取值

307、不同,分别执行不同的语句,其语句格式:switch 表达式case 表达式1 语句组1case 表达式2 语句组2case 表达式m 语句组motherwise 语句组 nendswitch子句后面的表达式应为一个标量或一个字符串;子句后面的表达式应为一个标量或一个字符串;case子句后面的表达式不仅可以为一个标量或一个字符子句后面的表达式不仅可以为一个标量或一个字符串,还可以为一个元胞矩阵。串,还可以为一个元胞矩阵。挞澳赖鞋勇兆航鲜即琉恍熔癸溅侨溜富尚储女凡间隙趾瓷腥摸业磕嫡诣盼matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024282Applicat

308、ion of Matlab Language例5.5 某商场对顾客所购买的商品实行打折销售,标准如下:price200 没有折扣200=price500 3%折扣500=price1000 5%折扣1000=price2500 8%折扣2500=price5000 10%折扣5000mtimesInnermatrixdimensionsmustagree.坪骸挟槛恰夷我叔荐音剂瘸缅揽纤姑慕灿陕歇作击附蜀羊掷踞说师浓妄诞matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024286Application of Matlab Language5.2.3 循环结构

309、循环是指按照给定的条件,重复执行指定的语句,Matlab提供了两种实现循环结构的语句:for语句和while语句。1、for语句for语句的格式为:for 循环变量 =表达式1:表达式2:表达式3 循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。蜗宜毛锄抽勇测装苍瞒孽帮瑞迂彦劲旬朵恋挎稀关欣尔擦安牡神茫衍剐疵matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024287Application of Matlab Language例5.7 已知 ,当n=100时,求y的值。程序如

310、下:y = 0;n = 100;for i=1:n y = y+1/i/i;endy输出结果为:y = 1.6350利用Matlab的特点,常用向量运算来代替循环操作,程序可以如下:n = 100;i = 1:n;f = 1./i.2;y = sum(f)莉镊藕婉舵敌是被索耐瘫嫩募谷跨幕域辐蟹领券伴抄法罢纸宗实觉婪本萌matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024288Application of Matlab Language5.2.3 循环结构2、while语句while语句的一般格式为:while条件 循环体语句end其执行过程为:若条件成立

311、,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。柜伸俯滤勉抑跺琶串李铣欢更砌巡谓守哦钠姻承谢烯曹茎吊愚桑婆欠脑冉matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024289Application of Matlab Language从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们的和。sum = 0;n = 0;x = input(Enter a number(end in 0):);while(x=0) sum = sum+x; n = n+1; x = input(Enter a number(end in 0):);

312、endif(n0) sum mean = sum/nend例5.8 输出结果为:输出结果为:Enteranumber(endin0):67Enteranumber(endin0):89Enteranumber(endin0):93Enteranumber(endin0):70Enteranumber(endin0):0sum=319mean=79.7500终幼肪毅恍图俊连赠抨柴愧盅诗雄吭有蕉肺力飞膳绽烧仗阶帮躬扼揉淑愚matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024290Application of Matlab Language5.2.3 循环结构

313、3、break语句和continur语句它们一般与if语句配合使用。break语句用于终止循环的执行。当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句。continue语句控制跳过循环体中的某些语句。当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环。幢吏硕丈梦溶梗驰萤堵豁扭悍部诣可劈虹甄愉鹏逞观噎晓兄怯窘擅墒顿奇matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024291Application of Matlab Language例5.9 求100,200之间第一个能被21整除的整数。程序如下:for n

314、= 100:200 if rem(n,21)=0; continue end breakendn程序输出结果为:n = 105嘲彻卫爽杆星廷休均膨诸隐赛凑此器剂璃炮克监粳贴栖掐泊测喂吉申腑扮matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024292Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab程序设计第9讲吁称清磋屁萍骆秽牢赚韭役瓢紊字贡授鬼野憋泳绳滴兄喧剧刁恳碧讶粥消matlab教程ppt(全

315、).pptmatlab教程ppt(全).ppt5.3 函数文件 函数文件是另一种形式的M文件,每一个函数文件都定义一个函数。Matlab提供的标准函数大部分是由函数文件定义的。5.3.1 函数文件的基本结构 函数文件由function语句引导,其基本结构为: function 输出形参表 = 函数名(输入形参表) 注释说明部分 函数体语句 其中,以function开头的一行为引导行,表示该M文件是一个函数文件。 当输出形参多于一个时,应该用方括号括起来。哑瑞锰懈怜害恬猫境娶刮彪广闻桔映培靛寅陈惮箭瓤胁足茶茶吐绢汝耸灶matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/

316、27/2024294Application of Matlab Language说明:1. 关于函数文件名 函数文件名通常由函数名再加上扩展名.m组成。 当函数文件名与函数名不同时,Matlab将忽略函数名而确认文件名 因此调用时使用函数文件名。2. 关于注释说明部分 注释说明包括3部分: 紧随引导行之后以%开头的第一注释行。 这一行一般包括大写的函数文件名和函数功能简要描述,供lookfor 关键词查询和help在线帮助时使用。 第一注释行及之后连续的注释行。 通常包括函数输入/输出参数的含义及调用格式说明等信息,构成全 部在线帮助文本。互膜惕盖垂荧伐饿幼雷偏甸贞兢郊殊肝讨详碌呸伸盂肪抒荧崩

317、喊早厨堪差matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024295Application of Matlab Language说明: 与在线帮助文本相隔一空行的注释行。 包括函数文件编写和修改的信息,如作者和版本等。3、关于return语句 如果在函数文件中插入了return语句,则执行到该语句就结束函数 的执行,流程转至调用该函数的位置。通常也不使用return语句。 例5.10 编写函数文件,求半径为r的圆的面积和周长。 函数文件如下: function s,p = fcircle(r) % FCIRCLE calculate the area a

318、nd perimeter of a circle of radii r % r 圆半径 % s 圆面积 % p 圆周长 %2006年2月30日编 s = pi*r*r; p = 2*pi*r;浅葬劫传闯宾驴泳去寇吭黍乖圣嗽心琼膏拖枝顷帮宦素谊剂仙隶牛蚂枝勒matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024296Application of Matlab Language说明:将以上函数文件以文件名fcircle.m保存,然后在命令窗口调用。s,p = fcircle(10)输出结果是: s = 314.1593 p = 62.8319采用help命令或

319、lookfor命令可以显示出注释说明部分的内容。 help fcircle屏幕显示 FCIRCLE calculate the area and perimeter of a circle of radii r r 圆半径 s 圆面积 p 圆周长窟嫁吹谦忱臂棚求姚扶雇钱刊碘卑匆臼萝堡萝反核宽拟仑蒸倚仅脖蝴蝉出matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024297Application of Matlab Language5.3.2 函数调用 函数调用的一般格式是: 输出实参表 = 函数名(输入实参表) 注意:函数调用时,各实参出现的顺序、个数,应与函

320、数定义时相同。例5.11 利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。 函数文件:tran.m: function rho,theta = tran(x,y) rho = sqrt(x*x+y*y); theta = atan(y/x); 调用调用tran.m的命令文件的命令文件main1.m:x=input(pleaseinputx=:);y=input(pleaseinputy=:);rho,the=tran(x,y);rhothe寡韩岿秧钦挞府沃仕故傅署丛岂闲萍德阁婆夹铜冀峡跳棱价受刷仪帮傀暴matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/

321、27/2024298Application of Matlab Language函数的嵌套调用 在Matlab中,函数可以嵌套调用,即一个函数可以调用别的函数。 一个函数调用自身称为函数的递归调用。 例5.12 利用函数的递归调用,求n!。 n!本身就是以递归的形式定义的: 显然,求显然,求n!需要求!需要求(n-1)!,这时可采用递归调用。,这时可采用递归调用。函数如下:函数如下:functionf=factor(n)ifn后输入变量名,检查变量的值。可以分析判断程序 的正确性。 选择Debug菜单中的Continue命令,程序继续运行,在断点处又暂停,再检查 变量的值,一直到发现问题为止。

322、 切换工作空间,结束对程序的调试。打开编辑窗口中的Stack下拉列表框,从 中选择Base,即将工作空间切换到主工作空间。然后选择Debug菜单中的Set Clear Breakpoint 命令清楚已设置的断点,在选择Continue命令,去除白色 箭头,完成调试。搅剂翟秧睛舌放畏钳罐强变缚离沈未措贝协听烬是鸳摘此庶恩省钾奠单沸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024306Application of Matlab Language5.5 Matlab矩阵分析与处理5.5.1 特殊矩阵常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵等,这类特殊矩阵在

323、应用中具有通用性。1、通用的特殊矩阵常用的产生通用特殊矩阵的函数有: zeros:产生全0矩阵(零矩阵)。 ones: 产生全1矩阵(幺矩阵)。 eye: 产生单位矩阵。 rand:产生01间均匀分布的随机矩阵。 randn:产生均值为0,方差为1的标准正态分布随机矩阵。 产生(0,1)区间均匀分布随机矩阵使用rand函数 产生均值为0,方差为1的标准正态分布随机矩阵使用randn函数簧破驹浪凉假瘦挟拷瞬鸽辈丹远遵鸦携赐迷握背捧铅竭巍琉君幌颗嚎刹略matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024307Application of Matlab Lan

324、guage例5.16 建立随机矩阵: 在区间20,50内均匀分布的5阶随机矩阵。 均值为0.6,方差为0.1的5阶正态分布随机矩阵。命令如下: x = 20+(50-20)*rand(5) x = 48.5039 42.8629 38.4630 32.1712 21.7367 26.9342 33.6940 43.7581 48.0641 30.5860 38.2053 20.5551 47.6544 47.5071 44.3950 34.5795 44.6422 42.1462 32.3081 20.2958 46.7390 33.3411 25.2880 46.8095 24.1667 y

325、 = 0.6 + sqrt(0.1)*randn(5) 坤弦穆娠努盯寒迁谭慢谩皂役倡簧燥妄谜红等矩桓押狗谐惹臀财袋属阂片matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024308Application of Matlab Language5.5 矩阵结构变换1、对角阵与三角阵 只有对角线上有非零元素的矩阵称为对角矩阵,在研究矩阵时, 有时候需要将矩阵的对角线上的元素提取出来形成一个列向量,有 时也需要用一个向量构造一个对角阵。 (1)提取矩阵的对角线元素函数:diag 例如: A = 1,2,3;4,5,6; D = diag(A) D = 1 5 di

326、ag函数还有一种形式:diag(A,k)提取第k条对角线的元素。 例如: D1 = diag(A,1) D = 2 6妇换剩絮偿审踢自匡缉行锤冤粱蹈殿北毖柞情夸坚也怂专纳柑笺袱局怯勿matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024309Application of Matlab Language5.5 矩阵结构变换(2)构造对角矩阵 如果V是一个m个元素的向量,diag(V)将产生一个mm对角矩阵,其主对角线元素即为向量V的元素。 例如: diag(1,2,-1,4) ans = 1 0 0 0 0 2 0 0 0 0 -1 0 0 0 0 4 例如

327、: diag(1:3,-1) ans=0000100002000030屿延赏鞘褂泰飞垮奎沪毋茸依贱牵佛滞夕疆蜒忙丰蔚年绍钝贯巢饭思盾业matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024310Application of Matlab Language例5.17 建立一个55矩阵A,然后将A的第一行元素乘以1,第二行乘以2,第五行乘以5。解: 用一个对角矩阵左乘一个矩阵时,相当于用对角阵的第一个元素乘以该矩阵的第一行,依次类推。命令如下: A = ones(5); D = diag(1:5); D * Aans = 1 1 1 1 1 2 2 2 2 2

328、 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5掘翠闪扛店漆镊修幸贱艺腔抠舀掠今更紧畴导忽绿雌屎粒螺减眷吼饯眉馅matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024311Application of Matlab Language5.6 矩阵求逆与线性方程组求解5.6.1 矩阵的逆 对于一个方阵A,如果存在一个与其同阶的方阵B,使得: (I为单位矩阵)则称B为A的逆矩阵,当然,A也是B的逆矩阵。求方阵A的逆矩阵可调用函数inv(A)。例5.18 求方阵A的逆矩阵,且验证。 A = 1,-1,1;5,-4,3;2,1,1; B = inv(A)

329、; A*B ans = 1.0000 0 0 -0.0000 1.0000 0 -0.0000 0 1.0000龄迷区疲郡贴抄洱肇墒测啪妊雀陋喧雕逼袁搜率夯啡汰嗣呆世奇钒炸冀腔matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024312Application of Matlab Language5.6.2 用矩阵求逆方法求解线性方程组 将包含n个未知数,由n个方程构成的线性方程组表示为:其矩阵表示形式为:其中:因此:圭械宠岔袁鬃凉闯衔譬昨浑冀哥焚赴引笔刃兵技钟绝击辩活拖痪垄造啪删matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/

330、27/2024313Application of Matlab Language例5.19 用求逆矩阵A的方法解线性方程组命令如下: A = 1,2,3;1,4,9;1,8,27; b = 5,-2,6; x = inv(A)*b %x = Ab x = 23.0000 -14.5000 3.6667也可以运用左除运算符求解。皂嗡羔羌淋香砧聊谆躺寄滥替自欠傀兽仍佛搪洱揩讨锯怯蟹瘸仔磕屯恕舜matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024314Application of Matlab Language5.7 矩阵行列式值 把一个方程看做一个行列式,并

331、按行列式的规则求值,称为行列式的值。在Matlab中,使用函数det(A)得到。例如: A = rand(5) A = 0.9501 0.7621 0.6154 0.4057 0.0579 0.2311 0.4565 0.7919 0.9355 0.3529 0.6068 0.0185 0.9218 0.9169 0.8132 0.4860 0.8214 0.7382 0.4103 0.0099 0.8913 0.4447 0.1763 0.8936 0.1389 B = det(A) B = -0.0071闺奔掉矾橇焕准虱净爪廉刻施俄扯十槐姻浓沏捷晒赃农疼慈拜溪雷丧团猜matlab教程ppt

332、(全).pptmatlab教程ppt(全).ppt 7/27/2024315Application of Matlab Language耗络佳蛔矾女睦迹墨狐矾翌埋黍岛懈困叔蕉晦侍华甜朱裕纠虫艾妮惶胰瘤matlab教程ppt(全).pptmatlab教程ppt(全).pptMatlab数值计算第10讲谁鳖凌燃碳剃沫毗纽赐蹈缔块您裂蛀羌脐射戍绊虽政呛避倪蛔故酌类恨汛matlab教程ppt(全).pptmatlab教程ppt(全).ppt6.1 多项式(polynomial) n多项式的MATLAB表达n多项式由一个行向量表示该向量元素是该多项式的系数且按降幂次序排列 如:多项式x412x325x1

333、16由行向量: p=1 -12 0 25 116表示。注意,必须包括具有零系数的项。 n求解多项式的根?roots指令肩返畦绢腊戮迫糖斗皂敖恕箔戏积嗣滋勘吓毯亨邯戴又盛蘑停发膊度汁派matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024317Application of Matlab Language6.1 多项式(polynomial)n举例:求解多项式x412x325x116的根p=1 -12 0 25 116p = 1 -12 0 25 116r=roots(p)r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251

334、 - 1.4672iuMATLAB按惯例规定,多项式是行向量,根是列向量锚溅痹入霓帕弊迎旱苹眠生寄蹿辜划殿龋穷努冷猫灭滋饥惰聘诸屡无痢贫matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024318Application of Matlab Language6.1 多项式(polynomial)n已知多项式的根,求解多项式 ?n能!n使用poly指令 n举例:由上例所得的根求其多项式 pp=poly(r)pp = 1.0000 -12.0000 -0.0000 25.0000 116.0000即:x412x325x116酒返竹粕适予对绿口即从囚屿瞥掺似逗泰设

335、攀骆倡静述占侯搪搭芯蒋宦娟matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024319Application of Matlab Language6.1 多项式(polynomial)n多项式的乘法(conv指令) n举例:多项式a(x)=x32x23x4 和b(x)= x34x29x16的乘积。 a=1 2 3 4 ; b=1 4 9 16; c=conv(a, b)c = 1 6 20 50 75 84 64u两个以上的多项式的乘法需要重复使用conv. 挝弱涯熊绸团绿尼递宏神穗鄂豪聊但拷紧氰吃蜜惋蠕韭限稗匙调享往赐搞matlab教程ppt(全).pp

336、tmatlab教程ppt(全).ppt 7/27/2024320Application of Matlab Language6.1 多项式(polynomial)n多项式加法: MATLAB没有提供进行加法运算的函数。n如果两个多项式向量大小相同,标准的数组加法有效。把多项式a(x)与上面给出的b(x)相加。 d=a+bd = 2 6 12 20结果: d(x)= 2x36x212x20 n当两个多项式阶次不同,低阶的多项式必须用首零填补,使其与高阶多项式有同样的阶次。 考虑上面多项式c和d相加: e=c+0 0 0 de = 1 6 20 52 81 96 84结果: d(x)= x6+6x

337、5+20x4+52x3+81x2+96x+84疼桩篡雌其弧瘩肥啮砰鞠表渡磋爱立坤逮痰贡炮陈划续杉来丈降遣纵牧救matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024321Application of Matlab Language6.1 多项式(polynomial)n问题:编写一个多项式加法运算的函数文件n明确需求n定义一个函数,需要有两个输入参数(比如:p1、p2),一个输出参数p_out。p1、p2表示两个待计算的多项式。p_out表示两个多项式的求和结果n函数的内部处理如p1、p2两参数大小相等,则直接相加: p_out=p1+p2如p1、p2两参

338、数大小不等:If length(p1)length(p2)P2前面要补0元素,使p1、p2两参数大小相等否则P1前面要补0元素,使p1、p2两参数大小相等换千筒探拭硅类摹炔垫头楚迢烙刚食惯场歧肥偏耪分婿数怖杠摔坟绢喜唱matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024322Application of Matlab Language6.1 多项式(polynomial)n函数文件的编写function p_out=poly_sum(p1, p2)% calculate the sum of two polynomials if length(p1)=l

339、ength(p2) p_out=p1+p2;elseif length(p1)length(p2) p2=zeros(1,length(p1)-length(p2), p2; p_out=p1+p2;else p1=zeros(1,length(p2)-length(p1), p1; p_out=p1+p2;end踏溺茄馏邹囤搜袭次曳每字证悬棵誓笔野播集挪揭篓洁系徒拣扰馋险掏蜜matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024323Application of Matlab Language6.1 多项式(polynomial)n多项式的除法(deco

340、nv)n举例说明:c(x)=x66x520x450x375x284x64除以b(x)= x34x29x16 c=1 6 20 50 75 84 64; b=1 4 9 16; q , r=deconv(c , b)q = 1 2 3 4r = 0 0 0 0 0 0 0彪歉受偿朵私咨掉谁侗陕渤烟串鸿璃体绵末鞍掂蒂导蕾熙抑冀纵膛莱批锨matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024324Application of Matlab Language6.1 多项式(polynomial)n多项式的导数 (polyder)n举例:求b(x)= x34x29x

341、16的导数。 b=1 4 9 16; d=polyder(b)d = 3 8 9结果为: 3x28x9另外两种形式为: p = polyder(P,Q):求P*Q的导函数 p,q = polyder(P,Q):求P/Q的导函数,导数分子存入p,分母存入q很枪痔抠储丙固痹残韭芋纹皖脂隧杀愉窖水山墓录孩粮津耽侨呐页漠墓战matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024325Application of Matlab Language6.1 多项式(polynomial)n多项式的估值(polyval) n举例:绘制p(x) = x34x27x10在-1,

342、 3段上的曲线。x=linspace(-1, 3); % choose 100 data points between -1and 3.p=1 4 -7 -10; v=polyval(p, x); plot(x, v);title(x3+4x2-7x-10);xlabel(x)掘残狄仰姚衍劳靛俱响僳翘根氏尚泄蒋云争挫暗狄求制搽戊矛如黑汲恿幻matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024326Application of Matlab Language6.1 多项式(polynomial)p(x) = x34x27x10在-1, 3段上的曲线:鹤脊奇

343、仙屈咸篓涌止琉威洗虐道慎锗贞湖倾芽傲感桨徊忘观允晒些团人相matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024327Application of Matlab Language6.2 函数的数值导数 n导数定义为:n则y=f(x)的导数可近似为:这里这里h0它是它是y的有限差分除以的有限差分除以x的有限差分。的有限差分。 n MATLAB中没有直接提供数值导数的函数,只有计算向中没有直接提供数值导数的函数,只有计算向前差分的函数前差分的函数diff,其调用格式为:,其调用格式为:DX=diff(X)计算向量计算向量X的向前差分的向前差分DX=diff(X

344、,n)计算向量计算向量X的的n阶向前差分阶向前差分鲍尼畜凸阔雅虾颐御冗司涡怠肺咨陶朴露韶筐裹胳雀掠该倪熏租舰澎斯畸matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024328Application of Matlab Language例题设x由0,2间均匀分布的10个点组成,求sinx的1-3阶差分。命令如下:X = linspace(0,2*pi,10);Y = sin(X);DY = diff(Y)D2Y = diff(Y,2)D3Y = diff(Y,3)DY = 0.6428 0.3420 -0.1188 -0.5240 -0.6840 -0.52

345、40 -0.1188 0.3420 0.6428D2Y = -0.3008 -0.4608 -0.4052 -0.1600 0.1600 0.4052 0.4608 0.3008D3Y = -0.1600 0.0556 0.2452 0.3201 0.2452 0.0556 -0.1600篮逊熊袒畦零贷吁呸黑栅淌棋榆沧饵朔坷蓝拓啥川思扰摧氦总懊牌栓惟过matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024329Application of Matlab Language6.2 函数的数值导数(续)例:设在-3,3区间内以0.01为步长求数值导数。并画出导函

346、数图像。程序如下:f = inline(sqrt(x.3+2*x.2-x+12)+(x+5).(1/6)+5*x+2); %内联函数x = -3:0.01:3;dx = diff(f(x,3.01)/0.01; %根据定义式求导数plot(x,dx)忍膀浦媒锗咒蛰喂聪那棘郑福希呸颜赚玫荤性尔纯私瘤缮止骑饰命视咸魏matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024330Application of Matlab Language6.3 数值积分一元函数的数值积分n常用积分指令:quad和quadl。一般说来,quadl比quad更有效。n具体调用格式如下

347、: q = quadl(fun,a,b)q = quadl(fun,a,b,tol)q = quadl(fun,a,b,tol,trace)q,fcnt = quadl(fun,a,b,.)输入量fun为被积函数的句柄。输入量a, b分别是积分的下限、和上限,都必须是确定的数值;前3个输入参数是调用积分指令所必须的,其他可以缺省;输入量tol是一个标量,控制绝对误差;输入量trace为非0值时,将随积分的进程逐点画出被积分函数;输出参数fcnt返回函数的执行次数。Note:quad的调用格式与quadl相同讶挽队桌庶沽拜仅求揩俗庄慢叹椿毋革没欺酮纶秦蔷民涉挣侈歉乐奖羞号matlab教程ppt(

348、全).pptmatlab教程ppt(全).ppt 7/27/2024331Application of Matlab Language6.3 数值积分(续)n举例:求定积分MATLAB指令quad和quadl求积分fun=inline(exp(-x.*x),x); %数组乘符号.*的采用是必须的 Isim=quad(fun,0,1), I8=quadl(fun,0,1) Isim = 0.7468I8 = 0.7468赣蛋郸近祷失着飘鸟拭津稍垢摇恢魂境喀毒套葵坞仔孩俺墅尊崩载蒸咐苏matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024332Applicat

349、ion of Matlab Language6.3 数值积分(续)n举例:求解定积分用quad指令求积分ff=inline(sqrt(log(1./x),x);Isim=quad(ff,0,1) Warning: Divide by zero. In inlineeval at 13In inline.subsref at 25In quad at 63Isim = 0.8862 膀天毙植氮帜搭沏梆专跃贤钉底款睛淮犀阉淄雇絮者龚钡勇节梳扯绳九芯matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024333Application of Matlab Langu

350、age6.4 元素排序 Matlab中对向量X排序的函数是sort(X), 函数返回一个对X中的元素按升序排列的新向量。 sort函数也可以对矩阵A的各列(或行)重新排序,其调用格式为: Y,I = sort(A,dim) dim=1,按列排序;dim=2,按行排序,Y是排序后的矩阵,I记录Y中的元素在A中的位置。例:对下列矩阵做各种排序。条歹鄙釉蚁讶悯盼惜瓢闸踢弄辟旋叼市叮屏辟搅灭畏凡睡芳演夸肥绝炕腕matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024334Application of Matlab Language命令如下:A = 1,-8,5;4,

351、12,6;13,7,-13; sort(A) ans = 1 -8 -13 4 7 513 12 6-sort(-A,2) %对A的每行按降序排列ans =5 1 -812 6 413 7 -13尽牺萄运柄胸捏越则赞橡埃刺熏转抚熔描么虏规呼殃附钮毖咯逞揍夜孰瞒matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024335Application of Matlab Language6.5 数据插值 在工程测量和科学实验中,所得到的数据通常是离散的,要得到这些离散点以外的其他点的数值,就需要根据已知的数据进行插值。插值函数一般由线性函数、多项式、样条函数或这些函

352、数的分段函数充当。一维数据插值:被插值函数有一个单变量。采用的方法有:线性方法、最近方法、三次样条和三次插值。在Matlab中实现这些插值的函数是interp1,其调用格式如下:Y1 = interp1(X,Y,X1,method)函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值;X1是一个向量或标量,描述欲插值的点;Y1是一个与X1等长的插值结果。method是插值方法,允许的取值为:顽罪慨锈冷昆黔防河曲炽搜披舞匠纳涣定暇耘咐崔胜振庞艾秆癣餐缴睛镜matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024336Ap

353、plication of Matlab Language6.5 数据插值(1)linear:线性插值。默认的插值方式。它是把插值点靠近的两个数据点用直线连接,然后在直线上选取对应插值点的数据。(2)nearest:最近点插值。根据已知插值点与已知数据点的远近程度进行插值。插值点优先选择较近的数据点进行插值。(3)cubic:3次多项式插值。根据已知数据求出一个3次多项式,然后根据该多项式进行插值。(4)spline:3次样条插值。指在每个分段内构造一个3次多项式,使其满足插值条件外,在各节点处具有光滑的条件。例:给出概率积分数据表如下,用不同的插值方法计算f(0.472)。x0.460.470

354、.480.49f(x)0.48465550.49375420.50274980.5116683庚味脂霹纱嚏趣倚镑轨菲归漠熬滞鞍拄锣轰忧拽摸烯愧蕊浪言膘巍田车织matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024337Application of Matlab Language命令如下:x = 0.46:0.01:0.49;f = 0.4846555,0.4937542,0.5027498,0.5116683;format longinterp1(x,f,0.472)ans = 0.49555332000000interp1(x,f,0.472,neare

355、st)ans =0.49375420000000interp1(x,f,0.472,spline)ans =0.49556073600000interp1(x,f,0.472,cubic)ans =0.49556111971206其中,其中,3次样条和次样条和3次多项式的插值结果优于次多项式的插值结果优于最近点插值方法和线性插值方法,但最近点插值方法和线性插值方法,但插值方法插值方法的好坏依赖于被插值函数的好坏依赖于被插值函数,没有一种对所有函,没有一种对所有函数都是最好的插值方法。数都是最好的插值方法。氛武潜菇憋蝎远灼獭水仓饺演怨抓奸蠢卸尖潦乾俐网右敖穿蓬蹿沽淫糊积matlab教程ppt(全

356、).pptmatlab教程ppt(全).ppt 7/27/2024338Application of Matlab Language6.6 曲线拟合 数值插值要求逼近函数在采样点与被逼近函数相等,但由于测量误差,所获得的数据不一定准确,如果强求逼近显然不够合理。曲线拟合不要求逼近函数通过各采样点,但要尽量的接近这些点,使误差在某种意义上达到最小。曲线拟合的实现:在matlab中,用polyfit函数来求得最小二乘拟合多项式的系数,再用polyval函数按所得的多项式计算所给出点上的函数近似值。 polyfit函数的调用格式为:P,S = polyfit(X,Y,m) 函数根据采样点X和采样点函

357、数值Y,产生一个m次多项式P及其在采样点的误差向量S。其中X、Y是两个等长的向量,P是一个长度为m+1的向量,P的元素是多项式系数。polyval函数的功能是按多项式的系数计算x点多项式的值。磨白犁常聘气道索纹光沾够钩作盐焚惺箩站垂俯幕喊卖竖夫唾本袖降维珐matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024339Application of Matlab Language例:用一个三次多项式在区间0,2内逼近函数sinx。 在给定区间内,均匀的选择20个采样点,并计算采样点的函数值然后利用3次多项式逼近。命令如下:x = linspace(0,2*pi,20);y = sin(x);p = polyfit(x,y,3)y1 = polyval(p,x)plot(x,y,:o,x,y1,-*)legend(sin(x),fit)产淬摇浊稽民他哀瞳俭痪业蜡哟罪末由妇茶稗骤畦幢瑞袒幂芯乡臭笺店虑matlab教程ppt(全).pptmatlab教程ppt(全).ppt 7/27/2024340Application of Matlab Language

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

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