收藏 分销(赏)

matlab在科学计算中的应用1.ppt

上传人:精*** 文档编号:12508454 上传时间:2025-10-22 格式:PPT 页数:59 大小:4.91MB 下载积分:14 金币
下载 相关 举报
matlab在科学计算中的应用1.ppt_第1页
第1页 / 共59页
matlab在科学计算中的应用1.ppt_第2页
第2页 / 共59页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,课程其他事项的说明,所有课件、作业均会发布在课程网站上,Office hour,每周二下午,1:00,3:00,教学楼,10,层,1017,房间。,2,主要参考书:,高等应用数学问题的,MATLAB,求解 薛定宇 陈阳泉 著 清华大学出版社,精通,MATLAB,科学计算 王正林等编著 电子工业出版社,科学计算引论基于,MATLAB,的数值分析 美,Shoichiro Nakamura,电子工业出版社,MATLAB,与科学计算 王谟然 编著 电子工业出版社,MATLAB6.0,数学手册 蒲俊等编著 蒲东电子出版社,3,第一章 计算机数学语言概述,1.1,数学问题计算机求解概述,数学问题求解,手工推导(只解决部分问题),借助计算机,用数值分析技术,从底层编写起,采用成形的数值分析算法、数值软件包与手工编程相结合的求解方法。,用专门计算机语言来求解,MATLAB,、,Mathematica,、,Maple,等,6,例:,Hilbert,矩阵,,n=20,(求解精度的问题),传统数值分析:容易得出矩阵奇异的错误结论,用,MATLAB:,在双精度级别下容易快速得到数值解,7,该矩阵行列式的精确结果,近似值,计算时间,0.4,秒,8,1.1.1,数学问题的解析解与数值解,数学家和其他科学技术工作者的区别,数学家:理论严格证明、存在性,工程技术人员:如何直接得出解,解析解不能使用的场合,不存在,数学家解决方法,引入符号,erf(,a,),工程技术人员更感兴趣积分的值,数值解,9,解析解不能使用的场合,解析解不存在:无理数,无限不循环小数,p,数学家:尽量精确地取值,工程技术人员:足够精确即可,祖冲之,3.14159263.1415927,解析解存在但不实用或求解不可能,高阶矩阵行列式,10,1.1.2,数值解应用场合,在力学领域,常用有限元法求解偏微分方程;,在航空、航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题;,工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法;,在高科技的数字信号处理领域,离散的快速,Fourier,变换,(FFT),已经成为其不可或缺的工具。,11,1.1.3,数学运算问题软件包发展概述,享有国际声望的软件包,线性代数,LINPACK,矩阵特征值计算,EISPACK,NAG(Oxford:Numerical Algorithm Group),Press W H,Flannery B P,Teukolsky S A,and Vitterling W T.Numerical recipes,the art of scientific computing.Cambridge:Cambridge University Press,1986(C,Fortran,Pascal,算法语言源程序软件包,),线性代数计算,LaPACK,12,软件包作用,从历史发展角度,起了不可替代的作用,对计算机数学语言的强有力支持,但不能过多依赖,使用烦琐,应该在计算机数学语言的意义下利用之,13,考虑一个实际编程例子,如何编写一个能求出两个矩阵相乘的计算机通用子程序?,该程序正确吗?错误,未考虑矩阵是否可乘,14,是否正确?,错误,未考虑其一为标量,加入标量判定,是否就是通用程序了?,错误,应考虑其一或二者为,复数,矩阵,MATLAB,实现:,C=A*B,可见,用最底层的编程语言需要考虑的内容要,多得多,所以调试起来不容易,容易出现漏洞,15,1.2,计算机数学语言概述,计算机数学语言,MATLAB 1984 v1 The MathWorks Inc,MATrix LABoratory,1980 Cleve Moler,教授,New Mexico University,自动控制学科的应用(正赶上状态空间的控制理论的兴起发展阶段),Mathematica,(,Wolfram Research,公司,),Maple,(,Waterloo Maple,公司),SciLAB,:免费,全部源代码公开,16,数学软件四大家,-Maple,、,MATLAB,、,MathCAD,和,Mathematica,目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是,Maple,、,MATLAB,、,MathCAD,和,Mathematica,。它们在各自针对的目标都有不同的特色。,你是否认为,Matlab,可以处理好所有的数学问题?,17,一、,Maple,系统,Maple,是由,Waterloo,大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有,无以伦比,的符号计算功能,。,Maple V,的符号计算能力还是,MathCAD,和,MATLAB,等软件的,符号处理的核心,(,亲戚关系,),。,Maple,提供了,2000,余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且,Maple,自身的,2000,多种函数,基本上是用此语言开发的。,Maple,采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到,Windows,应用程序内。,18,想一窥,Maple,的奥秘么?,www.math.tku.edu.tw/mathhall/maple/maple.htm,19,二、,MathCAD,系统,MathCAD,是美国,Mathsoft,公司推出的一个,交互式,的数学系统软件。从早期的,DOS,下的,1.0,和,Windows,下的,4.0,版本,到今日的,8.0,版本,功能也从简单的数值计算,直至引用,Maple,强大的符号计算能力,使得它发生了一个质的飞跃。,MathCAD,是集文本编辑、数学计算、程序编辑和仿真于一体的软件。,MathCAD7.0 Professional,(专业版)运行在,Win9X/NT,下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用,WYSWYG,(,所见所得,)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。,MathCAD 7.0 Professional,还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。,MathCAD,可以看作是一个功能强大的计算器,,没有很复杂的规则;同时它也可以和,Word,、,Lotus,、,WPS2000,等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。,20,跟我学数学软件包,MathCAD,Wolfram,领导的,Wolfram Research,开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与,Maple,类似,但它的符号计算不是基于,Maple,上的,而是,自己开发,的。,Mathematica,的基本系统主要是用,C,语言开发的,因而可以比较容易地移植到各种平台上,,Mathematica,是一个交互式的计算系统,计算是在用户和,Mathematica,互相交换、传递信息数据的过程中完成的。,Mathematica,系统所接受的命令都被称作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。,Mathematica,对于输入形式有,比较严格,的规定,用户必须按照系统规定的数学格式输入,系统才能正确地处理,不过由于,3.0,版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。,3.0,版本可以用各种格式保存文件和剪贴内容,包括,RTF,、,HTML,、,BMP,等格式。,22,数学世界,Weissteins World of Mathematics),,目前这个网站属于著名的数学软件公司,Wolfram Research(,他们的产品是,Mathematica),。这个被称为“,网络数学百科全书,”的网站收录了,10,141,条信息,,88,200,条参考文献,(,网址或图书杂志,),,和几千幅彩色图片,实时动态模拟软件。,23,四、,MATLAB,系统,MATLAB,原是矩阵实验室(,Matrix Laboratory,)在,70,年代用来提供,Linpack,和,Eispack,软件包的接口程序,采用,C,语言编写,。从,80,年代出现,3.0,的,DOS,版本,逐渐成为科技计算、视图交互系统和程序语言。,MATLAB,可以运行在,十几个操作平台,上,比较常见的有基于,Windows 9X/NT,、,OS/2,、,Macintosh,、,Sun,、,Unix,、,Linux,等平台的系统。,MATLAB,程序主要由,主程序,和各种,工具包,组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、,分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且,5.x,版本还包含一套几十个的,PDF,文件,从,MATLAB,的使用入门到其他专题应用均有详细的介绍。,MATLAB,是数值计算的先锋,,,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。,MATLAB,在输入方面也很方便,可以使用内部的,Editor,或者其他任何字符处理器,同时它还可以与,Word6.0/7.0,结合在一起,在,Word,的页面里直接调用,MATLAB,的大部分功能,使,Word,具有特殊的计算能力。,24,MATLAB,是一套组合工具,是大而全好,还是专而精好?,25,四种软件的比较,选用何种数学软件,?,如果,仅仅是要求,一般的计算,或者是普通用户日常使用,首选的是,MathCAD,,它在高等数学方面所具有的能力,足够一般客户的要求,而且它的输入界面也特别友好。,如果,要求,计算精度、符号计算,和编程方面的话,最好同时使用,Maple,和,Mathematica,,它们在符号处理方面各具特色,有些,Maple,不能处理的,,Mathematica,却能处理,诸如某些积分、求极限等方面,这些都是比较特殊的。,如果,要求进行,矩阵方面或图形方面的处理,,则选择,MATLAB,,它的矩阵计算和图形处理方面则是它的强项,同时利用,MATLAB,的,NoteBook,功能,结合,Word6.0/7.0,的编辑功能,可以很方便地处理科技文章。,26,开源软件,Scilab,强烈的,n,次方地推荐,:,一个,堪与,matlab,相媲美,的开源软件,:Scilab,Scilab,是一个开放源代码的数学软件,是由法国,INRIA,科学机构编写的,它的函数和,matlab,是兼容的,.,而且包括仿真模块,Scicos(,类似与,simulink).,它唯一的好处是,:,开放源代码,.,要知道,:,没有人会阻止你使用盗版的,matlab,但是如果有一天,你用,matlab,解决了一个大问题,.,你却没有资格发布你的成果,你发布出来是得不到国际上的认可的,.,因为你不拥有,matlab,的使用版权,.,你要用就要花钱买,(,基本模块,1,万块,20,个工具箱,一个大约一万元,.,总共,7,万元左右,).,如此高的花费我们怎能承受得起,.,这样对我们国家的科研是非常不利的,.,如果大家有志向从事于科学研究的话,.,就开始学习使用,scilab,吧,.,如果你对自己的要求更高,你可以查看,scilab,的源代码,(,要知道,:matlab,这一款商业软件是不可能给你这样的权限的,他早就封装起来了,).,还要提醒大家,:scilab,也只是你学习的一个跳板而已,.,它不是你的终结,.,因为绝大多数开放源代码的软件,往往等它成熟,稳定的时候,就是它商业化的开始,.,附,:scilab,主页,www.scilab.org,可以到上面去下载,27,显而易见的言论:,28,29,Scilab,中国官方网站,30,SCILAB,在世界的发展状况,从,1994,年开始,法国国立信息与自动化研究院(,INRIA,)推出了开放源码软件,SCILAB,。,可以说,SCILAB,软件及其工具箱已经取得了很大的成功:每月都有来自全球的近万人次登录,SCILAB,网站,并下载该软件。如此国际化的成功一方面因为该软件本身的语法和基本功能完全可以和行业参照软件,MATLAB,相媲美,另一方面因为它是完全免费的。此外,这份成功也应归功于其源代码开放的特征;使用者可以完全控制其开发计划,并通过嵌入最新最先进的技术,还可以优化,SCILAB,软件。,SCILAB,的目标,是:在未来几年中使,SCILAB,成为一个优秀的数字科学计算工具;并在教育、研究以及工业领域内得到认可,成为一个具有国际水平的参照工具;借助于免费的优势促进其发展,加强,SCILAB,使用者和参与群体的安全性;确保工业需要和行业先进技术的优先联系。为朝此目标发展,,INRIA,决定在,2002,年加大力度,并与学术界和工业界的合作者共同建立“,SCILAB,共同体”(,Consortium SCILAB,)。如此宏大的计划如果仅仅局限于法国或是欧洲范围内是远远不够的,只有将其放在国际环境下才能取得成功。因此,,SCILAB,小组的成员正努力逐步扩大,SCILAB,在国外的影响。,31,SCILAB,在中国的推广,中国科学院自动化所和法国国立信息与自动化研究院(,INRIA,)联合创办的中法信息、自动化与应用数学实验室吸引了中法许多大学和科研单位的科学家,这些科学家紧密合作,从事了许多基础性、公益性的前沿科学研究。最近,双方科学家又在推动发展和普及科学计算自由软件,SCILAB,。他们组织了基于,SCILAB,平台的应用软件比赛,又出版,SCILAB,相关的书籍,以便让更多的同仁们了解和掌握,SCILAB,。中法科学家还在策划进一步完善这一具有巨大应用前景(尤其是对中国科技与教育界)的开放源代码自由软件,体现了中法科学家共有的社会责任。,2001,、,2002,年连续两届的,SCILAB,研讨会分别在,LIAMA,和上海复旦大学成功召开。“,2002,年,SCILAB,竞赛”在众多中国大学的参与和支持下顺利举行,并借在北京举行的中欧信息论坛之际举行了正式的颁奖仪式。“,2003,年,SCILAB,竞赛”也已经圆满落幕,并于西安召开了,2003,年中,-,法科学计算自由软件,SCILAB,研讨会。经过,2003,2003,两届,SCILAB,竞赛,更多的中国大学生们了解和接受了,SCILAB,,竞赛作品的水平逐年提高。现在,,SCILAB,竞赛每年举办一届,影响力越来越大,让我们盼望着更多高水平作品和更多,SCILAB,使用者的出现。也希望随着,SCILAB,在中国的传播,自由科学软件能够逐渐为广大教育科研人员所接受和使用。,32,33,34,其实可以用的软件包很多,35,36,MATLAB,产生的历史背景,MATLAB,是“矩阵实验室”(,MATrix LABoratory,)的缩写,.,在,70,年代中期,Cleve Moler,博士和其同事在美国国家科学基金的资助下开发了调用,EISPACK,和,LINPACK,的,FORTRAN,子程序库,.EISPACK,是特征值求解的,FORTRAN,程序库,LINPACK,是解线性方程的程序库,.,在当时,这两个程序库代表矩阵运算的最高水平,.,37,到,70,年代后期,身为美国,New Mexico,大学计算机系系主任的,Cleve Moler,,在给学生讲授线性代数课程时,想教学生使用,EISPACK,和,LINPACK,程序库,但他发现学生用,FORTRAN,编写接口程序很费时间,为了让学生方便的调用,EISPACK,和,LINPACK,,利用业余时间为学生编写,EISPACK,和,LINPACK,的接口程序。,Cleve Moler,给这个接口程序取名为,MATLAB,,取名,MATLAB(MATrix LABoratory),,即,Matrix,和,Laboratory,的组合。在以后的数年里,,MATLAB,在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。,38,1983,年春天,Cleve Moler,到,Standford,大学讲学,,MATLAB,深深地吸引了工程师,John Little,。,John Little,敏锐地觉察到,MATLAB,在工程领域的广阔前景,同年,他和,Cleve Moler,,,Steve Bangert,一起,用,C,语言开发了第二代专业版。这一代的,MATLAB,语言同时具备了数值计算和数据图示化的功能。,John Little,CEO/Founder,39,MATLAB,的第一个商业化的版本是,1984,年推出的是,3.0,的,DOS,版本,1992,年,MathWorks,公司于推出了,4.0,版本,,1994,年的,4.2,版本扩充了,4.0,版本的功能,尤其在图形界面设计方面更提供了新的方法。,1997,年推出的,5.0,版允许了更多的数据结构,如单元数据、多维矩阵、对象与类等,使其成为一种更方便编程的语言。,1999,年推出的,MATLAB 5.3,版在很多方面又进一步改进了,MATLAB,语言的功能。,40,2000,年,10,月底推出了其全新的,MATLAB 6.0,正式版,(Release 12),,在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。,2002,年,6,月发布了其全新的,MATLAB 6.5,正式版,(Release 13),2004,年,5,月推出,Matlab7.0,(,Release 14,),MATLAB 7.9 R2009b 2009.9.4,41,时至今日,经过,MathWorks,公司的不断完善,,MATLAB,已经发展成为适合多学科,多种工作平台的功能强大的大型软件。在国外,,MATLAB,已经经受了多年考验。在欧美等高校,,MATLAB,已经成为,线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真,等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,,MATLAB,被广泛用于科学研究和解决各种具体问题。在国内,特别是工程学术界,,MATLAB,也逐步盛行起来。可以说,无论你从事工程方面的哪个学科,都能在,MATLAB,里找到合适的功能。,42,43,44,为什么选择,Matlab,不希望同学们在编程上化太多时间,课程目的不是学习编程,社会化的运行带来的好处:合理利用可以节约大量的时间,为什么相同的时间别人比自己做出了更多的事情:硕士论文调查结果,面向对象的思想带来巨大的好处,紧密结合科学的前沿,From BBS:,博士论文,=Matlab+Word,45,MATLAB,语言的优势,编程简单,类似于其它语言,如,C,集成度更高,扩展性更好,数学问题数值解能力强大,由,Maple,内核构成的符号运算工具箱可以继承,Maple,所有解析解的求解能力,在数学、工程领域有各种“工具箱”,强大的系统仿真能力,,Simulink,建模,在控制界是国际首选的计算机语言,46,MATLAB,工具箱,MATLAB,包含两个部分:核心部分和各种可选的工具箱。,核心部分中有数百个核心内部函数。,工具箱又分为两类:功能性工具箱和学科性工具箱。,功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱可用于多种学科。,学科性工具箱是专业的,如,control,、,signal proceessing,、,commumnication toolbox,等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序。,47,Matlab,产品家族,Matlab,扩展支持在,matlab,中队系统的实施和开发。,工具箱:专用的函数库,解决特定领域的问题。,Simulink,非线性系统仿真,Blockset,是专门为,simulink,建立的模块。,48,Matlab,是所有系统工具的基础,49,设计自动化工具,50,一般用途工具,51,信号和图像处理,52,控制系统设计和分析,53,USENET,新闻组,MATLAB,的新闻组是,comp.soft-sys.MATLAB。,浏览器指向,网络上的工具箱,MathWorks,公司官方网站,产品与全套工具箱手册下载,第三方工具箱下载,产品在中国独家代理,(,北京九州恒润公司,),55,MATLAB,大观园,www.matlab-,MATLAB,与应用论坛,博士家园论坛网站,一些高校的,bbs,清华大学、哈工大、上海交大、西安交大等,56,1.3 MATLAB,科学计算的主要内容,三大基本功能:数值计算、符号计算、图形处理,程序设计与应用程序接口,MATLAB,科学计算中的应用,在数值分析中的应用,多项式与插值、数据的曲线拟合,数值微分与数值积分,线性代数,非线性方程求根,微分方程,57,在最优化问题中的应用,在概率统计中的应用,在偏微分方程解法中的应用,在复变函数中的应用,数学问题的非传统解法,模糊逻辑与模糊推理,神经网络在数据拟合中的应用,遗传算法在最优化求解中的应用,在建模仿真中的应用,58,1.4,本课程与其它相关课程的关系,和数学的关系(非理论,是如何解决问题),应用数学和纯数学,数学问题机械化,侧重直接获得问题的解,而不是存在性,和数值分析的关系,不是数值分析的,MATLAB,语言求解,从算法上看,选择的算法更有效,变步长、自适应的算法实现,可以求解析解,求解的面也更大,更全面,和其他后续课程的关系,利用计算机数学语言更好解决后续课程中的数学问题和相关计算问题,59,E N D,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服