在科学计算中的应用1.ppt
《在科学计算中的应用1.ppt》由会员分享,可在线阅读,更多相关《在科学计算中的应用1.ppt(56页珍藏版)》请在三一文库上搜索。
1、1,MATLAB在科学计算中的应用,开课单位:数学与系统科学学院 1学分/40课时 任课教师:韩丛英 联系方式 :88256147 Email:congy_ 13581654083 考试方式: 作业完成、上机开卷考或者结合本专业撰写小论文并用MATLAB求解。 考试方式: 作业完成、上机开卷考 平时作业及上课情况占30,最后考试卷占70,2,课程其他事项的说明 所有课件、作业均会发布在课程网站上 其他未注明事项直接联系助教 助教:阿勇 综合楼316 邵光琪 综合楼316 答疑时间:每周二下午 7、8节课 答疑地点:综合楼316 联系电话:88256712,3,主要参考书:,高等应用数学问题的M
2、ATLAB求解 薛定宇 陈阳泉 著 清华大学出版社 精通MATLAB科学计算 王正林等编著 电子工业出版社 科学计算引论基于MATLAB的数值分析 美Shoichiro Nakamura 电子工业出版社 MATLAB与科学计算 王谟然 编著 电子工业出版社 MATLAB6.0数学手册 蒲俊等编著 蒲东电子出版社,4,第一章 计算机数学语言概述,1.1 数学问题计算机求解概述 数学问题求解 手工推导(只解决部分问题) 借助计算机 用数值分析技术,从底层编写起 采用成形的数值分析算法、数值软件包与手工编程相结合的求解方法。 用专门计算机语言来求解 MATLAB、Mathematica、Maple等
3、,5,例:求 方程的解(带参数问题的求解) 在 是给定数值时,数值分析的方式是可用。 当不是给定数值时,数值分析的方式不可用。 必须使用计算机数学语言来求解。,6,例:求 矩阵行列式求解问题(时间复杂性) 用代数余子式方法 一个 n 阶行列式可以表示成 n 个 n-1 阶行列式的和, 可以将高阶矩阵行列式转换成1阶矩阵行列式 结论:任意矩阵行列式解析解存在 问题:忽略了可计算性 n=20, 运算次数为 , 用每秒亿次的银河机需3000年.忽略了复杂度和可行性.,7,例:Hilbert 矩阵,n=20 (求解精度的问题) 传统数值分析:容易得出矩阵奇异的错误结论 用MATLAB: 在双精度级别下
4、容易快速得到数值解,8,该矩阵行列式的精确结果,近似值,计算时间 0.4 秒,9,1.1.1 数学问题的解析解与数值解,数学家和其他科学技术工作者的区别 数学家:理论严格证明、存在性 工程技术人员:如何直接得出解 解析解不能使用的场合 不存在 数学家解决方法,引入符号erf(a) 工程技术人员更感兴趣积分的值数值解,10,解析解不能使用的场合 解析解不存在:无理数,无限不循环小数 p 数学家:尽量精确地取值 工程技术人员:足够精确即可 祖冲之 3.14159263.1415927 解析解存在但不实用或求解不可能 高阶矩阵行列式,11,1.1.2 数值解应用场合,在力学领域,常用有限元法求解偏微
5、分方程; 在航空、航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题; 工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法; 在高科技的数字信号处理领域,离散的快速Fourier 变换 (FFT) 已经成为其不可或缺的工具。 ,12,1.1.3 数学运算问题软件包发展概述,享有国际声望的软件包 线性代数LINPACK 矩阵特征值计算 EISPACK NAG (Oxford: Numerical Algorithm Group) Press W H, Flannery B P, Teukolsky S A, and Vitterl
6、ing W T. Numerical recipes, the art of scientific computing. Cambridge: Cambridge University Press, 1986 (C,Fortran,Pascal算法语言源程序软件包) 线性代数计算 LaPACK,13,软件包作用,从历史发展角度,起了不可替代的作用 对计算机数学语言的强有力支持 但不能过多依赖 使用烦琐 应该在计算机数学语言的意义下利用之,14,考虑一个实际编程例子,如何编写一个能求出两个矩阵相乘的计算机通用子程序? 该程序正确吗?错误,未考虑矩阵是否可乘,15,是否正确?,错误,未考虑其一为标
7、量,加入标量判定,是否就是通用程序了?,错误,应考虑其一或二者为复数矩阵,MATLAB 实现:C=A*B,可见,用最底层的编程语言需要考虑的内容要 多得多,所以调试起来不容易,容易出现漏洞,16,1.2 计算机数学语言概述,计算机数学语言 MATLAB 1984 v1 The MathWorks Inc MATrix LABoratory 1980 Cleve Moler教授, New Mexico University 自动控制学科的应用(正赶上状态空间的控制理论的兴起发展阶段) Mathematica(Wolfram Research公司) Maple(Waterloo Maple公司)
8、SciLAB:免费,全部源代码公开,17,数学软件四大家 -Maple、MATLAB、MathCAD和Mathematica,目前在科技和工程界上比较流行和著名的数学软件主要有四个,分别是Maple、MATLAB、MathCAD和Mathematica。它们在各自针对的目标都有不同的特色。 你是否认为Matlab可以处理好所有的数学问题?,18,一、Maple 系统 Maple 是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。Maple V的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心(亲戚关系)。Maple提供了
9、2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。 Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。,19,想一窥Maple的奥秘么?http:/www.math.tku.edu.tw/mathhall/maple/maple.htm,20,二、MathCAD 系统 MathCA
10、D是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1.0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Maple强大的符号计算能力,使得它发生了一个质的飞跃。 MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0 Professional(专业版)运行在Win9X/NT下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小
11、,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。 MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Word、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。,21,跟我学数学软件包MathCAD http:/ 系统 Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符号计算不是基于Maple上的,而是自己开发的。 Mathematica的
12、基本系统主要是用C语言开发的,因而可以比较容易地移植到各种平台上,Mathematica是一个交互式的计算系统,计算是在用户和Mathematica互相交换、传递信息数据的过程中完成的。Mathematica系统所接受的命令都被称作表达式,系统在接受了一个表达式之后就对它进行处理,然后再把计算结果返回。Mathematica对于输入形式有比较严格的规定,用户必须按照系统规定的数学格式输入,系统才能正确地处理,不过由于3.0版本引入输入面板,并且可以修改、重组输入面板,因此以前版本输入指令时需要不断切换大小写字符的繁琐方式得到很好的改善。3.0版本可以用各种格式保存文件和剪贴内容,包括RTF、H
13、TML、BMP等格式。,23,数学世界 http:/ 这个名为数学世界的网站(Eric Weissteins World of Mathematics) ,目前这个网站属于著名的数学软件公司Wolfram Research(他们的产品是Mathematica)。这个被称为“网络数学百科全书”的网站收录了10,141 条信息,88,200条参考文献(网址或图书杂志), 和几千幅彩色图片,实时动态模拟软件。,24,四、MATLAB 系统 MATLAB原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispack软件包的接口程序,采用C语言编写。从80年代出现3
14、.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于Windows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。 MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。 MATLAB是数值计算的
15、先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的Editor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。,25,MATLAB 是一套组合工具,是大而全好 还是专而精好?,26,四种软件的比较 选用何种数学软件? 如果仅仅是要求一般的计算或者是普通用户日常使用,首选的是MathCAD,它在高等数学方面所具有的能力,足
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 科学 计算 中的 应用
链接地址:https://www.31doc.com/p-2734221.html