第 6 章 利用 matlab 语言 求解科学运算问题

97
Sunday, 2009- 5- 10, 11:20:13 Slide 1 (of 97)数数数数数数数数 数数数数数数数数 Slide 1 (of 97) 第6第 第第 MATLAB 第第 第第第第第第第第 数数数数数数数数 数数数

Upload: adena-hampton

Post on 03-Jan-2016

126 views

Category:

Documents


9 download

DESCRIPTION

第 6 章 利用 MATLAB 语言 求解科学运算问题. 东北大学信息学院 薛定宇. 本课程参考书 薛定宇、陈阳泉,高等应用数学问题的 MATLAB 求解, 2004,2008 ,清华大学出版社 (用于以后求解问题参考) MATLAB 语言符号运算局限性: 目前只支持 32 位 MATLAB 运行,在 64 位操作系统上必须安装 32 位版 MATLAB 从 MATLAB 2008b 开始,符号运算放弃了 Maple 内核,改用 MuPAD 作为符号运算引擎,功能变弱了很多,好些问题不能再求解了. 本章内容提要 (内容多,因学时限制,入门介绍) (详细内容查阅参考教材). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 1 (of 97)数学建模课程模板东北大学信息学院

Slide 1 (of 97)

第 6 章利用 MATLAB 语言求解科学运算问题

东北大学信息学院 薛定宇

Page 2: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 2 (of 97)数学建模课程模板东北大学信息学院

Slide 2 (of 97)

本课程参考书薛定宇、陈阳泉,高等应用数学问题的 MATLAB 求解, 2004,2008 ,清华大学出版社 (用于以后求解问题参考)

MATLAB 语言符号运算局限性:目前只支持 32 位 MATLAB 运行,在 64 位操作系统上必须安装 32 位版 MATLAB

从 MATLAB 2008b 开始,符号运算放弃了 Maple 内核,改用 MuPAD 作为符号运算引擎,功能变弱了很多,好些问题不能再求解了

Page 3: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 3 (of 97)数学建模课程模板东北大学信息学院

Slide 3 (of 97)

本章内容提要(内容多,因学时限制,入门介绍)

(详细内容查阅参考教材)解析解与数值解 ch1

线性代数问题求解 ch4 简单介绍非线性方程求解 ch6

最优化问题求解 ch6

微分方程求解 ch7

数据插值、处理与拟合 ch8

其他应用

Page 4: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 4 (of 97)数学建模课程模板东北大学信息学院

Slide 4 (of 97)

6.1 解析解与数值解由已知公式一步步推导出的解

例如,高等数学计算,复杂问题不能手工求解,需要借助计算机

解析解不存在或不现实,需要数值解不存在

不存在 ,,,,,,,高阶矩阵的行列式,计算量

Page 5: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 5 (of 97)数学建模课程模板东北大学信息学院

Slide 5 (of 97)

6.2 线性代数问题的计算机求解矩阵分析问题由简单命令即可

行列式 det(A)

特征值 eig(A) , [v,d]=eig(A)

逆矩阵 inv(A) ,伪逆 pinv(A)

范数 norm(A,1), norm(A,2), norm(A,inf)

特征多项式系数 poly(A)

函数调用方法eig(A), eig(sym(A))

Page 6: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 6 (of 97)数学建模课程模板东北大学信息学院

Slide 6 (of 97)

6.2.2 其他线性代数问题求解线性代数方程求解

解的判定矩阵 三种情况

唯一解无穷多解无解,最小二乘解

Lyapunov 方程、 Riccati 方程等lyap 、 are 等函数可以直接求解

矩阵函数求解

Page 7: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 7 (of 97)数学建模课程模板东北大学信息学院

Slide 7 (of 97)

6.3 非线性方程求解非线性方程的解析解

什么时候存在解析解?单变量多项式方程可以转换成单变量多项式方程的多元方程

准解析解非线性方程的数值解

图解法任意指定初值进行搜索求解非线性矩阵方程的求解

Page 8: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 8 (of 97)数学建模课程模板东北大学信息学院

Slide 8 (of 97)

6.3.1 非线性方程的解析解求解MATLAB 的 solve 函数可以求解方程

简单例子:鸡兔同笼问题的直接求解数学问题

MATLAB 求解语句

Page 9: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 9 (of 97)数学建模课程模板东北大学信息学院

Slide 9 (of 97)

复杂例子数学形式

MATLAB 求解语句(准解析解)

解的检验

Page 10: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 10 (of 97)数学建模课程模板东北大学信息学院

Slide 10 (of 97)

另一个复杂例子

求解

检验

Page 11: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 11 (of 97)数学建模课程模板东北大学信息学院

Slide 11 (of 97)

非线性方程的准解析解考虑非线性方程

求解

验证

问题:该方程只有这一个解吗?

Page 12: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 12 (of 97)数学建模课程模板东北大学信息学院

Slide 12 (of 97)

6.3.2 一元、二元方程的图解法图解法只适合求解一元、二元方程利用隐函数绘制函数 ezplot ,辅以 hold on ,可以把联立方程的解画在一个坐标系下重解前例

MATLAB 语句

Page 13: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 13 (of 97)数学建模课程模板东北大学信息学院

Slide 13 (of 97)

6.3.3 一般非线性方程的数值求解方程的标准型

其中, 均是列向量或矩阵,维数相同求解步骤:

选择变量 ,将非线性方程表示成标准型形式编写MATLAB 程序描述原方程

*.m 函数形式、 inline 函数、匿名函数形式调用 fsolve 函数求解方程

Page 14: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 14 (of 97)数学建模课程模板东北大学信息学院

Slide 14 (of 97)

求解实例,仍考虑前面例子

选择变量 ,则

向量形式

Page 15: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 15 (of 97)数学建模课程模板东北大学信息学院

Slide 15 (of 97)

用 MATLAB描述匿名函数描述

MATLAB 函数描述,生成 myeq.m文件

求解、验证

Page 16: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 16 (of 97)数学建模课程模板东北大学信息学院

Slide 16 (of 97)

提高求解精度停止迭代条件

TolX

TolFun

MaxIter: 最大迭代步数超限,默认 500 步设置方法

求解、检验

寻找其他解:换初值

Page 17: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 17 (of 97)数学建模课程模板东北大学信息学院

Slide 17 (of 97)

6.3.4 非线性矩阵方程计算机求解能直接求解矩阵方程举例,扩展 Riccati 方程

其中

求解、检验、其他解

Page 18: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 18 (of 97)数学建模课程模板东北大学信息学院

Slide 18 (of 97)

6.3.5 求解方法比较、总结图解法

局限性:一元二元,精度低优点:显示出感兴趣区域全部实根

准解析解方法局限性:多项式类方程、不能选择初值优点:全部根包括复根、精度高

一般数值解法局限性:实根、依赖于初值优点:任意非线性方程、精度适中、矩阵方程

Page 19: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 19 (of 97)数学建模课程模板东北大学信息学院

Slide 19 (of 97)

6.4 最优化问题求解无约束最优化问题有约束最优化问题

特殊问题线性规划二次型规划

一般问题进化算法及其全局最优解法整数规划、混合整数规划、 0-1规划动态规划与最短路径求解

Page 20: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 20 (of 97)数学建模课程模板东北大学信息学院

Slide 20 (of 97)

6.4.1 无约束最优化问题求解数学形式 ,最大值问题的变换物理意义介绍目标函数描述匿名函数、 M 函数

MATLAB 求解

Page 21: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 21 (of 97)数学建模课程模板东北大学信息学院

Slide 21 (of 97)

无约束最优化求解举例

求解步骤变换成标准型,引入 ,则

描述目标函数

求解

Page 22: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 22 (of 97)数学建模课程模板东北大学信息学院

Slide 22 (of 97)

图形验证

中间 过程

-3 -2 -1 0 1 2 3-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 23: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 23 (of 97)数学建模课程模板东北大学信息学院

Slide 23 (of 97)

带有变量边界约束的最优化问题数学描述

问题求解方法可以按照有约束最优化问题求解利用免费工具箱求解

http://www.mathworks.com/matlabcentral/fileexchange/

loadFile.do?objectId=8277&objectType=file

Page 24: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 24 (of 97)数学建模课程模板东北大学信息学院

Slide 24 (of 97)

最优化问题求解其他考虑

全局最优解和局部最优解几何解释如何避免

初值考虑、多初值并行算法,如遗传算法

最优化加速算法最优区域过于平缓

考虑采用利用梯度信息

0 0.5 1 1.5 2 2.5

-0.5

0

0.5

1

t

0.5

1

1.5

0.5

1

1.50

50

100

150

200

250

300

Page 25: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 25 (of 97)数学建模课程模板东北大学信息学院

Slide 25 (of 97)

6.4.2 有约束最优化问题的求解有约束最优化问题的数学形式

约束条件,≥不等式的处理特殊形式

线性规划问题二次型规划形式

一般最优化问题

Page 26: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 26 (of 97)数学建模课程模板东北大学信息学院

Slide 26 (of 97)

线性规划问题

一般数学形式

MATLAB 求解

Page 27: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 27 (of 97)数学建模课程模板东北大学信息学院

Slide 27 (of 97)

线性规划问题举例

提取矩阵、向量,对号入座

求解

Page 28: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 28 (of 97)数学建模课程模板东北大学信息学院

Slide 28 (of 97)

双下标线性规划问题举例

线性规划不能直接求解双下标问题引入变换,变成单下标问题,如

Page 29: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 29 (of 97)数学建模课程模板东北大学信息学院

Slide 29 (of 97)

变换后的问题

求解

Page 30: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 30 (of 97)数学建模课程模板东北大学信息学院

Slide 30 (of 97)

二次型规划问题求解数学标准型

MATLAB 求解函数

注意事项注意 1/2 系数

Page 31: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 31 (of 97)数学建模课程模板东北大学信息学院

Slide 31 (of 97)

一般有约束非线性规划问题求解数学形式

MATLAB 求解

Page 32: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 32 (of 97)数学建模课程模板东北大学信息学院

Slide 32 (of 97)

非线性规划举例

非线性约束条件的 MATLAB描述

目标函数

Page 33: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 33 (of 97)数学建模课程模板东北大学信息学院

Slide 33 (of 97)

求解

另一种求解方法

Page 34: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 34 (of 97)数学建模课程模板东北大学信息学院

Slide 34 (of 97)

实际最优化问题举例数学形式

多个变量需要优化,不能直接求解引入决策变量进行替换,生成 x 向量

Page 35: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 35 (of 97)数学建模课程模板东北大学信息学院

Slide 35 (of 97)

变换后的最优化问题标准型

非线性规划线性等式不等式约束、非线性等式约束

Page 36: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 36 (of 97)数学建模课程模板东北大学信息学院

Slide 36 (of 97)

非线性约束

问题求解

Page 37: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 37 (of 97)数学建模课程模板东北大学信息学院

Slide 37 (of 97)

6.4.3 进化算法及全局最优解法为什么要引入进化算法?传统方法过于依赖初值,容易产生局部最优解一元函数举例

-1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

3.5

4

Page 38: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 38 (of 97)数学建模课程模板东北大学信息学院

Slide 38 (of 97)

常用进化算法遗传算法PSO—粒子群优化算法蚁群算法遗传算法的基本思路基于生物界优胜劣汰、适者生存法则寻优同时从多点开始并行搜索全局最优点用数学方法实现了交叉、遗传、变异等常用概率方法进化,每次的结果不同

Page 39: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 39 (of 97)数学建模课程模板东北大学信息学院

Slide 39 (of 97)

遗传算法最优化工具箱 (GAOT) 下载http://www.ise.ncsu.edu/mirage/GAToolBox/gaot/

主函数调用

遗传算法与直接搜索工具箱( GADS )

两个遗传算法工具箱可以使用

Page 40: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 40 (of 97)数学建模课程模板东北大学信息学院

Slide 40 (of 97)

求最大值目标函数定义 ( GAOT )

求解方法GAOT 工具箱求解

GADS 解法

单变量最优化问题举例

Page 41: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 41 (of 97)数学建模课程模板东北大学信息学院

Slide 41 (of 97)

GAOT 工具箱求解

GADS 工具箱求解

多变量问题举例

Page 42: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 42 (of 97)数学建模课程模板东北大学信息学院

Slide 42 (of 97)

线性规划

GAOT 求解不能求解有约束最优化,引入惩罚函数,即不满足约束条件时认为设置小目标函数不能求解等式约束,需要解出,如

有约束最优化问题求解

Page 43: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 43 (of 97)数学建模课程模板东北大学信息学院

Slide 43 (of 97)

含有约束条件的目标函数(两个变量)

求解语句

线性规划问题直接求解

Page 44: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 44 (of 97)数学建模课程模板东北大学信息学院

Slide 44 (of 97)

遗传算法小结优点

可以求取全局最优解计算量恒定,适合于在线寻优缺点

适用范围窄,无约束最优化精度低

利用遗传算法的优点用遗传算法获得不精确的初值由初值出发利用传统搜索方法寻优

Page 45: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 45 (of 97)数学建模课程模板东北大学信息学院

Slide 45 (of 97)

6.4.4 整数规划和混合整数规划什么是整数规划、混合整数规划、 0-1规划数学形式

常用有效求解算法:分枝定界法利用免费工具箱 bnb20 直接求解

下载地址http://www.mathworks.com/matlabcentral/fileexchange/95

Page 46: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 46 (of 97)数学建模课程模板东北大学信息学院

Slide 46 (of 97)

bnb20 工具箱使用和改进调用格式

关键点: intlist 的写法程序编写较早,有待改进

调用前

调用后

Page 47: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 47 (of 97)数学建模课程模板东北大学信息学院

Slide 47 (of 97)

整数规划举例数学问题(线性规划)

要求所有决策变量均为整数

Page 48: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 48 (of 97)数学建模课程模板东北大学信息学院

Slide 48 (of 97)

混合整数规划若决策变量 1,4,5 要求为整数

bnb20 的局限性不能采用匿名函数版本兼容性需要小修改

Page 49: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 49 (of 97)数学建模课程模板东北大学信息学院

Slide 49 (of 97)

0-1 规划问题求解MATLAB 只提供了 0-1 线性规划问题求解函数 binprog ,不能求解一般非线性问题

可以利用 bnb20 直接求解求解技巧: 分别设置为 0 、 1 向量

Page 50: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 50 (of 97)数学建模课程模板东北大学信息学院

Slide 50 (of 97)

6.5 动态规划及最短路径求解动态规划

Page 51: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 51 (of 97)数学建模课程模板东北大学信息学院

Slide 51 (of 97)

可以利用生物信息学工具箱函数直接求解先输入有向图信息 (自动布局)

求解

Page 52: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 52 (of 97)数学建模课程模板东北大学信息学院

Slide 52 (of 97)

生物信息学工具箱函数局限性复杂问题自动布局困难也可以利用著名的 Dijkstra 算法编程求解

Page 53: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 53 (of 97)数学建模课程模板东北大学信息学院

Slide 53 (of 97)

6.6 微分方程问题求解解析解求解常系数线性微分方程解析解微分方程组解析解极特殊非线性微分方程解析解

微分方程数值解标准型及其求解一般微分方程组的标准型转换特殊微分方程求解边值问题的计算机求解

Page 54: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 54 (of 97)数学建模课程模板东北大学信息学院

Slide 54 (of 97)

6.6.1 微分方程的解析解方法直接调用 dsolve 函数

直接求解的优点通用格式无需记忆方程的手工解法、技巧可以求解复杂问题

Page 55: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 55 (of 97)数学建模课程模板东北大学信息学院

Slide 55 (of 97)

数学形式

先不考虑初值,演示通解的解法直接求解

微分方程求解举例

Page 56: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 56 (of 97)数学建模课程模板东北大学信息学院

Slide 56 (of 97)

特解的解法

结果

Page 57: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 57 (of 97)数学建模课程模板东北大学信息学院

Slide 57 (of 97)

解析解的一个反例非线性微分方程求解

问题

求解

非线性微分方程变形试图求解

唯一方法:数值解

Page 58: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 58 (of 97)数学建模课程模板东北大学信息学院

Slide 58 (of 97)

微分方程组的解析解微分方程组举例

MATLAB 求解

解析解

Page 59: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 59 (of 97)数学建模课程模板东北大学信息学院

Slide 59 (of 97)

6.6.2 微分方程初值问题的数值解法初值问题的标准型

, 已知MATLAB 求解步骤写出标准型描述标准型匿名函数、 M 函数和 inline 函数

求解

Page 60: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 60 (of 97)数学建模课程模板东北大学信息学院

Slide 60 (of 97)

Lorenz 微分方程举例及可视化数学形式

微分方程描述

求解

可视化

Page 61: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 61 (of 97)数学建模课程模板东北大学信息学院

Slide 61 (of 97)

M 函数方法

变步长求解方法与精度设定精度控制量

不会过多增大计算量微分方程解的验证

选择不同的 RelTol 参数

Page 62: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 62 (of 97)数学建模课程模板东北大学信息学院

Slide 62 (of 97)

Lotka-Volterra 捕食模型数学模型

引入变量进行变换,令

MATLAB 求解

Page 63: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 63 (of 97)数学建模课程模板东北大学信息学院

Slide 63 (of 97)

带有附加参数的微分方程求解什么是附加参数?为什么使用附加参数?描述微分方程时引入附加参数匿名函数

M 函数

求解时使用

Page 64: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 64 (of 97)数学建模课程模板东北大学信息学院

Slide 64 (of 97)

不同参数下的 Lorenz 问题求解数学模型

附加参数 问题描述

求解

Page 65: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 65 (of 97)数学建模课程模板东北大学信息学院

Slide 65 (of 97)

6.6.3 微分方程的标准化一般微分方程如何求解?常见微分方程类型

高阶微分方程的变换高阶微分方程组的变换显式微分方程组隐式微分方程组容易解出的方程 引入代数方程求解方法

转换后可以直接求解

Page 66: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 66 (of 97)数学建模课程模板东北大学信息学院

Slide 66 (of 97)

高阶微分方程的转换常见高阶微分方程形式

状态变量选择方法不唯一,结果不唯一常见选法变换后模型

Page 67: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 67 (of 97)数学建模课程模板东北大学信息学院

Slide 67 (of 97)

举例: Van der Pol 方程数学模型

解析解不存在引入状态变量变换后模型

求解

Page 68: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 68 (of 97)数学建模课程模板东北大学信息学院

Slide 68 (of 97)

Van der Pol 方程结果

解的验证极限环

不同初值得出不同极限环状态变量选择不同,模型不唯一

如 很大时用 ode45 无解,刚性方程 ode15s

Page 69: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 69 (of 97)数学建模课程模板东北大学信息学院

Slide 69 (of 97)

显式高阶微分方程组变换数学形式

状态选择

转换模型

Page 70: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 70 (of 97)数学建模课程模板东北大学信息学院

Slide 70 (of 97)

Apollo 轨迹模型数学形式

初值

状态变量选择

Page 71: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 71 (of 97)数学建模课程模板东北大学信息学院

Slide 71 (of 97)

变换后标准化模型

求解

验证

Page 72: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 72 (of 97)数学建模课程模板东北大学信息学院

Slide 72 (of 97)

隐式微分方程组的变换例子数学模型

状态变量选择变换后模型

Page 73: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 73 (of 97)数学建模课程模板东北大学信息学院

Slide 73 (of 97)

6.6.4 特殊微分方程求解

矩阵微分方程求解刚性方程求解隐式微分方程求解微分代数方程求解延迟微分方程求解切换微分方程求解随机微分方程求解

Page 74: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 74 (of 97)数学建模课程模板东北大学信息学院

Slide 74 (of 97)

6.6.5 边值微分方程的求解 数学模型

二阶

一般

MATLAB 求解函数

Page 75: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 75 (of 97)数学建模课程模板东北大学信息学院

Slide 75 (of 97)

二阶边值问题举例数学问题

变换 方程 边值方程

MATLAB 求解

Page 76: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 76 (of 97)数学建模课程模板东北大学信息学院

Slide 76 (of 97)

含未知参数的边值问题数学问题

变量选择MATLAB 求解

Page 77: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 77 (of 97)数学建模课程模板东北大学信息学院

Slide 77 (of 97)

6.7 数据处理插值运算

一元插值二元网格样本数据插值二元一般样本数据插值基于数据的数学模型拟合

多项式拟合非线性原型函数的最优拟合基于神经网络的数据拟合

数据的统计分析

Page 78: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 78 (of 97)数学建模课程模板东北大学信息学院

Slide 78 (of 97)

6.7.1 数据插值什么是插值?什么是曲线(曲面)拟合?

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.05

0.1

0.15

0.2

0.25

0.3

0.35

-3 -2 -1 0 1 2 3-2

-1

0

1

2

-1

-0.5

0

0.5

1

1.5

Page 79: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 79 (of 97)数学建模课程模板东北大学信息学院

Slide 79 (of 97)

一元函数的插值与曲线拟合数学问题

已知:样本点

求未知点 X 处函数值 Y

MATLAB 求解步骤生成样本点数据向量

插值问题求解 ‘linear’, ‘cubic’

‘spline’

Page 80: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 80 (of 97)数学建模课程模板东北大学信息学院

Slide 80 (of 97)

一元插值举例由已知函数生成一组样本点,观察能否较好地插值拟合原曲线

样本数据生成与显示

MATLAB 命令

Page 81: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 81 (of 97)数学建模课程模板东北大学信息学院

Slide 81 (of 97)

插值问题的极端例子

正弦函数的曲线拟合假设已知稀疏点 0,0.4,1.2,2, 处的函数值样本点计算与显示

插值运算、曲线拟合

Page 82: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 82 (of 97)数学建模课程模板东北大学信息学院

Slide 82 (of 97)

插值问题的反例

假设由快速变化的函数生成一组稀疏的样本点,例如稀疏数据生成和样本点显示

数据插值与曲线拟合效果

样本点信息不足

Page 83: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 83 (of 97)数学建模课程模板东北大学信息学院

Slide 83 (of 97)

二元网格样本点的插值已知在 x-y 平面上网格点处的 z 值,如何拟合 x-y 平面内任意点插值?如何拟合曲面?二元插值求解步骤:构造网格数据标准型 ( meshgrid 函数)

二元函数插值求解

Page 84: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 84 (of 97)数学建模课程模板东北大学信息学院

Slide 84 (of 97)

二元网格数据插值举例网格样本点数据原型函数

稀疏数据生成

数据插值

Page 85: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 85 (of 97)数学建模课程模板东北大学信息学院

Slide 85 (of 97)

一般分布数据的二元插值问题样本点不一定在网格上

已知 向量,计算 点上的函数值常规曲面图绘制命令不能绘制曲面数据插值方法:

曲面图绘制方法:让插值点 x,y 在网格上插值后直接利用 surf 函数进行曲面绘制

Page 86: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 86 (of 97)数学建模课程模板东北大学信息学院

Slide 86 (of 97)

插值举例由原型函数生成随机发布的数值

MATLAB 语句

插值运算

Page 87: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 87 (of 97)数学建模课程模板东北大学信息学院

Slide 87 (of 97)

插值应用:由离散样本点进行最优化

前面介绍的最优化是已知函数的最优化如果未知函数,可以考虑插值去拟合最优化举例

Page 88: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 88 (of 97)数学建模课程模板东北大学信息学院

Slide 88 (of 97)

6.7.2 由数据拟合数学模型为什么要拟合数学模型?

插值只能求出感兴趣点的函数值有时需要数学模型表示需要由模型推导其他内容

能拟合出那些模型多项式模型已知非线性函数模型其他领域模型,如控制中拟合传递函数模型神经网络模型

Page 89: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 89 (of 97)数学建模课程模板东北大学信息学院

Slide 89 (of 97)

由数据拟合出多项式数学问题

已知样本点数据

求出一个拟合多项式(系数)问题求解步骤:

准备数据向量设定多项式次数 n

拟合多项式检验拟合效果,如果不好,重新选择次数 n

Page 90: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 90 (of 97)数学建模课程模板东北大学信息学院

Slide 90 (of 97)

多项式拟合举例考虑原型函数的系数样本点

生成数据

对不同多项式次数拟合,观察效果

Page 91: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 91 (of 97)数学建模课程模板东北大学信息学院

Slide 91 (of 97)

已知原型函数的最优函数拟合数学问题描述

已知样本点已知原型函数(未知具体参数) fun

求出函数系数,使得拟合误差最小求解步骤:生成样本点向量描述原型函数:匿名函数和M 函数最优拟合

Page 92: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 92 (of 97)数学建模课程模板东北大学信息学院

Slide 92 (of 97)

一元函数拟合举例原始函数 原型函数生成数据和原型函数的 MATLAB 表示

曲线拟合

Page 93: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 93 (of 97)数学建模课程模板东北大学信息学院

Slide 93 (of 97)

多元函数拟合举例原函数原型函数生成样本点

写出原型函数

求解

Page 94: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 94 (of 97)数学建模课程模板东北大学信息学院

Slide 94 (of 97)

神经网络模型模拟生物神经网络进行计算、近似等适合数据拟合的神经网络类型

前馈神经网络(反向传播 BP 算法)径向基网络 (RBF网络 )

径向基网络的使用建立网络训练网络泛化

Page 95: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 95 (of 97)数学建模课程模板东北大学信息学院

Slide 95 (of 97)

原始问题生成数据、拟合、比较径向基神经网络拟合

一元拟合举例

Page 96: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 96 (of 97)数学建模课程模板东北大学信息学院

Slide 96 (of 97)

二元函数拟合举例原始问题

数据生成、拟合、比较径向基网络拟合

Page 97: 第 6 章 利用 MATLAB 语言 求解科学运算问题

Sunday, 2009-5- 10, 11:20:13

Slide 97 (of 97)数学建模课程模板东北大学信息学院

Slide 97 (of 97)

6.7.3 数据的统计分析

已知数据矩阵 X

统计量计算均值 mean(X) (按列计算)每列数据的方差 cov(X(:,i))

标准差 std(X(:,i))

协方差矩阵 cov(X)

相关系数矩阵 corrcoef(X)