高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
MATLAB语言与现代科学运算教材:薛定宇、陈阳泉,高等应用数学问题的 MATLAB求解,清华大学出版社,第二版,2008;
第一版,2004出版英文版,Solving Advanced Mathematical
Problems with MATLAB,CRC出版社,
2008
课件:中、英文版,各 1000+页 PPT
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
主要内容
MATLAB程序设计数学问题求解,各个分支考试方式:开卷考试高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
第 1章计算机数学语言概述高等应用数学问题的 MATLAB求解清华大学出版社 2008
CAI课件开发:薛定宇、刘莹莹、董雯彬高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
第 1章 计算机数学语言概述数学问题计算机求解概述计算机数学语言概述关于本书及相关内容高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.1 数学问题计算机求解概述为什么要学习计算机数学语言数学问题的解析解与数值解数学运算问题软件包发展概述常规计算机语言的局限性高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.1.1 为什么要学习计算机数学语言数学问题求解手工推导借助计算机用数值分析技术,从底层编写起应用现成软件进行计算机求解解析解与数值解高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.1
高等数学问题:已知函数如何求 4阶导数高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
计算机求解结果如何求 100阶导数高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.2
Abel-Ruffini定理,5次或以上的多项式方程没有通用的解析解求解方法。
数值方法林士谔 -Bairstrow算法,又称为劈因子法
http://mathworld.wolfram.com/BairstowsMethod.html
解如下多项式方程高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
双精度变量的数值方法结果精确解高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.3
矩阵行列式求解问题代数余子式
1 个 n 阶行列式可以表示成 n 个 n-1 阶行列式的和,…
可以将高阶矩阵行列式转换成 1阶矩阵行列式结论:任意矩阵行列式解析解存在问题:忽略了可计算性
n=20,银河 -III,3000年高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
实例,Hilbert 矩阵,n=20
传统数值分析结论:矩阵奇异双精度级别下的数值解高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
解析解精确解
4198377534864930331853312344197593106445
8518758576681657377344056575986726555897
1765638419710793303386582324149811241023
5544891661547178096352577978368000000000
00000000000000000000000000
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.4
微分方程的解
Van der Pol方程,没有解析解刚性方程延迟微分方程分数阶微分方程高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.5
线性规划问题
MATLAB代码高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
混合整数规划问题整数规划的解混合整数规划可以通过定义 intlist类型的变量来求取高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.6
高等应用数学分支积分变换复变函数偏微分方程数据插值与拟合概率论与数理统计数值分析考试之后还记得其中问题的求解方法吗?
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
新的数学分支模糊集合与粗糙集合人工神经网络其他相关课程电路电子技术电力电子技术电机与拖动自动控制原理例 1.7
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.1.2 数学问题的解析解与数值解数学家和其他科学技术工作者的区别数学家:理论严格证明、存在性工程技术人员:如何直接得出解解析解不能使用的场合不存在,例如数学家解决方法:引入符号 erf(a)
工程技术人员解决方法:查表法,得出近似解高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
解析解不能使用的场合解析解不存在:无理数,无限不循环小数 p
数学家:尽量精确地取值。例如,日本 60亿位工程技术人员:足够精确即可祖冲之 3.1415926,阿基米德的 3.1418
http://mathworld.wolfram.com/Pi.html
解析解存在但不实用或求解不可能高阶矩阵行列式高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
数值解应用场合在力学领域,常用有限元法求解偏微分方程;
在航空、航天与自动控制领域,经常用到数值线性代数与常微分方程的数值解法等解决实际问题;
工程与非工程系统的计算机仿真中,核心问题的求解也需要用到各种差分方程、常微分方程的数值解法;
在高科技的数字信号处理领域,离散的快速 Fourier
变换 (FFT) 已经成为其不可或缺的工具。
…… ……
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.1.3 数学运算问题软件包发展概述享有国际声望的软件包线性代数 LINPACK
矩阵特征值计算 LINPACK
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
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
软件包作用从历史发展角度,起了不可替代的作用对计算机数学语言的强有力支持但不能过多依赖使用烦琐应该在计算机数学语言的意义下利用之高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
举例:求取矩阵特征值
EISPACK 软件包解法调用困难,容易出错计算机数学语言解法,eig(A)
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
数学软件包的支持
EISPACK
LINPACK
全新的 LaPACK
它们为数学软件提供底层的支持
MATLAB
Scilab
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.1.4 常规计算机语言的局限性一般程序设计者无法编写出符号运算和公式推导类程序,只能编写数值计算程序常规数值算法往往不是求解数学问题的最好方法采用底层计算机语言编程,由于程序冗长难以验证,所以即使得出结果也不敢相信与依赖该结果高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.8
Fibonacci数列的生成代码,
正确吗? 数据类型的问题。
变整型为长整型,依然存在该问题有很多的内容要考虑高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
用 MATLAB语言则不必考虑这些烦琐的问题高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
例 1.9
如何编写一个能求出两个矩阵相乘的计算机通用子程序?
C语言例子,代码主体,对吗?
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
错误,未考虑矩阵是否可乘修改程序相乘; 出错信息 ;
加入标量判定,是否就是通用程序了?
错误,未考虑其一为标量。
加入标量判定,是否就是通用程序了?
错误,考虑其一或二者为复数矩阵
MATLAB 实现,C=A*B
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.2 计算机数学语言概述计算机数学语言三个代表性计算机数学语言开放式免费科学运算语言简介高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.2.1 计算机数学语言
MATLAB 1984 v1 The MathWorks Inc
MATrix LABoratory
1980 Cleve Moler,New Mexico University
自动控制学科的应用
Mathematica
Maple
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.2.2 三个代表性计算机数学语言
“三个代表”,MATLAB,Mathematica,
Maple
MATLAB
数值运算、程序设计,广泛应用
Mathematica,Maple
数学机械化,编程侧重于模式匹配
MATLAB+符号运算工具箱 +Maple
可以推导公式,可以调用 Maple功能高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
MATLAB 语言的优势编程简单,类似于其他语言,如 C
集成度更高,扩展性更好数学问题数值解能力强大由 Maple内核构成的符号运算工具箱可以继承 Maple所有解析解的求解能力在数学、工程领域各种“工具箱”
强大的系统仿真能力,Simulink建模在控制界是国际首选的计算机语言高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.2.3开放式免费科学运算语言简介
Scilab:
http://www.scilab.org/
Octave:
http://www.gnu.org/software/octave/
Freemat:
http://freemat.sourceforge.net/wiki/index.php/Main_P
age
SpeQ:
http://www.speqmath.com/index.php?id=1
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.3 关于本书及相关内容本书框架设计及内容安排
MATLAB语言学习方法与资源本课程与其他相关课程的关系高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.3.1 本书框架设计及内容安排第 1章 (本章 ),综述 MATLAB等计算机数学语言的发展概况第 2章 MATLAB语言程序设计基础第 3章 微积分问题的计算机求解第 4章 线性代数问题的计算机求解第 5章 积分变换与复变函数问题的计算机求解第 6章 代数方程与最优化问题的计算机求解高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
第 7章 微分方程问题的计算机求解第 8章 数据插值、函数逼近问题的计算机求解第 9章 概率论与数理统计问题的计算机求解第 10章 数学问题的非传统解法模糊逻辑与模糊推理神经网络在数据拟合中的应用遗传算法在最优化求解中的应用小波理论在数据处理中的应用粗糙集理论与应用分数阶微积分理论与计算高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.3.2 MATLAB语言学习方法与资源带着问题学,活学活用,学用结合,急用先学,立竿见影,在用字上狠下功夫。
The MathWorks公司官方网站费提供了全套 MATLAB语言及工具箱手册的
HTML版和 PDF版电子文档
http://www.mathworks.com
联机帮助系统命令,help,doc,lookfor
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.3.3 本课程与其他相关课程的关系和数学的关系应用数学和纯数学,数学问题机械化侧重直接获得问题的解,而不是存在性和数值分析的关系不是数值分析的 MATLAB语言求解,从算法上看,选择的算法更有效,变步长、自适应的算法实现可以求解析解求解的面也更大,更全面高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
和其他后续课程的关系利用计算机数学语言更好解决后续课程中的数学问题和相关计算问题高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
1.4 本章要点概述本章通过一些看起来用先修课程知识难以解决的数学问题求解来介绍学习计算机数学语言的重要性,
并对当前国际上最好的计算机数学语言做出综述,
并解释了本课程选择 MATLAB语言的原因。
本章还回顾了数学软件包和计算机数学语言的发展过程,并入门性地介绍了数学问题的解析解、数值解的基本概念,并举例说明了什么时候应该使用解析解,什么时候应该使用数值解。
本章还介绍了本课程的框架以及本课程与其他相关课程之间的关系。
高等应用数学问题的 MATLAB求解东北大学信息学院第 1页 (共 41页 )星期日,2008-9- 7,
17:19:19
学习 MATLAB语言的方法
“三十字” 学习方法:
带着问题学,
活学活用,学用结合,
急用先学,立竿见影,
要在,用,字上狠下功夫。