第1章 计算机数学语言概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MATLAB在科学计算中的应用•开课单位:数学系2学分•张敏洪(数学系)mh_zhang@gucas.ac.cn•考试方式:作业完成、上机开卷考平时占30%,最后占70%有课外上机时间,讲义、作业、部分参考资料可下载。数学系主要参考书:•高等应用数学问题的MATLAB求解薛定宇陈阳泉著清华大学出版社•科学计算引论-基于MATLAB的数值分析[美]ShoichiroNakamura电子工业出版社•MATLAB与科学计算王谟然编著电子工业出版社•MATLAB6.0数学手册蒲俊等编著蒲东电子出版社第一章计算机数学语言概述•1.1数学问题计算机求解概述–数学问题求解•手工推导(只解决部分问题)•借助计算机–用数值分析技术,从底层编写起采用成形的数值分析算法、数值软件包与手工编程相结合的求解方法。–用专门计算机语言来求解MATLAB、Mathematica、Maple等例:求方程的解在是给定数值时,数值分析的方式是可用。当不是给定数值时,数值分析的方式不可用。必须使用计算机数学语言来求解。3xaxcdacd、、例矩阵行列式求解问题•代数余子式–1个n阶行列式可以表示成n个n-1阶行列式的和,…–可以将高阶矩阵行列式转换成1阶矩阵行列式•结论:任意矩阵行列式解析解存在•问题:忽略了可计算性•n=20,银河机,3000年nn209.707310•例:Hilbert矩阵,n=20•传统数值分析结论:矩阵奇异•双精度级别下的数值解-1.1004e-195•该矩阵行列式的精确结果•近似值•计算时间0.2秒1.1.1数学问题的解析解与数值解•数学家和其他科学技术工作者的区别–数学家:理论严格证明、存在性–工程技术人员:如何直接得出解•解析解不能使用的场合–不存在–数学家解决方法,引入符号erf(a)–工程技术人员更感兴趣积分的值=数值解•解析解不能使用的场合–解析解不存在:无理数,无限不循环小数p–数学家:尽量精确地取值–工程技术人员:足够精确即可–祖充之3.1415926—3.1415927•解析解存在但不实用或求解不可能–高阶矩阵行列式1.1.2数值解应用场合•在力学领域,常用有限元法求解偏微分方程;•在航空、航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题;•工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法;•在高科技的数字信号处理领域,离散的快速Fourier变换(FFT)已经成为其不可或缺的工具。•…………1.1.3数学运算问题软件包发展概述•享有国际声望的软件包–线性代数LINPACK–矩阵特征值计算EISPACK–NAG(Oxford:NumericalAlgorithmGroup)–PressWH,FlanneryBP,TeukolskySA,andVitterlingWT.Numericalrecipes,theartofscientificcomputing.Cambridge:CambridgeUniversityPress,1986(C,Fortran,Pascal算法语言源程序软件包)–线性代数计算LaPACK软件包作用•从历史发展角度,起了不可替代的作用•对计算机数学语言的强有力支持•但不能过多依赖•使用烦琐•应该在计算机数学语言的意义下利用之考虑一个实际编程例子•如何编写一个能求出两个矩阵相乘的计算机通用子程序?该程序正确吗?错误,未考虑矩阵是否可乘是否正确?错误,未考虑其一为标量加入标量判定,是否就是通用程序了?错误,应考虑其一或二者为复数矩阵可见,用最底层的编程语言需要考虑的内容要多得多,所以调试起来不容易,容易出现漏洞MATLAB实现:C=A*B1.2计算机数学语言概述•计算机数学语言–MATLAB1984v1TheMathWorksInc•MATrixLABoratory•1980CleveMoler,NewMexicoUniversity•自动控制学科的应用(状态空间的控制理论的兴起)–Mathematica(WolframResearch公司)–Maple(WaterlooMaple公司)–SciLAB:免费,全部源代码公开三个代表性计算机数学语言•MATLAB,Mathematica,Maple•MATLAB–数值运算、程序设计,广泛应用•Mathematica、Maple–解析运算、数学公式推导、定理证明•MATLAB+符号运算工具箱+Maple–可以推导公式,可以调用Maple功能MATLAB语言的优势•编程简单,类似于其他语言,如C•集成度更高,扩展性更好•数学问题数值解能力强大•由Maple内核构成的符号运算工具箱可以继承Maple所有解析解的求解能力•在数学、工程领域有各种“工具箱”•强大的系统仿真能力,Simulink建模•在控制界是国际首选的计算机语言1.3MATLAB科学计算的主要内容•三大基本功能:数值计算、符号计算、图形处理•程序设计与应用程序接口•MATLAB科学计算中的应用–在数值分析中的应用•多项式与插值、数据的曲线拟合•数值微分与数值积分•线性代数•非线性方程求根•微分方程–在最优化问题中的应用–在概率统计中的应用–在偏微分方程解法中的应用–在复变函数中的应用–数学问题的非传统解法•模糊逻辑与模糊推理•神经网络在数据拟合中的应用•遗传算法在最优化求解中的应用•……–在建模仿真中的应用–……1.4本课程与其他相关课程的关系•和数学的关系(非理论,是如何解决问题)–应用数学和纯数学,数学问题机械化–侧重直接获得问题的解,而不是存在性•和数值分析的关系–不是数值分析的MATLAB语言求解,从算法上看,选择的算法更有效,变步长、自适应的算法实现–可以求解析解–求解的面也更大,更全面•和其他后续课程的关系–利用计算机数学语言更好解决后续课程中的数学问题和相关计算问题

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功