1 / 97

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章利用MATLAB语言求解科学运算问题 东北大学信息学院 薛定宇 Slide 1 (of 97)数学建模课程模板 东北大学信息学院

  2. 本课程参考书 • 薛定宇、陈阳泉,高等应用数学问题的MATLAB求解,2004,2008,清华大学出版社 (用于以后求解问题参考) • MATLAB语言符号运算局限性: • 目前只支持32位MATLAB运行,在64位操作系统上必须安装32位版MATLAB • 从MATLAB 2008b开始,符号运算放弃了Maple内核,改用MuPAD作为符号运算引擎,功能变弱了很多,好些问题不能再求解了 Slide 2 (of 97)数学建模课程模板 东北大学信息学院

  3. 本章内容提要(内容多,因学时限制,入门介绍)(详细内容查阅参考教材)本章内容提要(内容多,因学时限制,入门介绍)(详细内容查阅参考教材) • 解析解与数值解 ch1 • 线性代数问题求解 ch4 简单介绍 • 非线性方程求解 ch6 • 最优化问题求解 ch6 • 微分方程求解 ch7 • 数据插值、处理与拟合 ch8 • 其他应用 Slide 3 (of 97)数学建模课程模板 东北大学信息学院

  4. 6.1 解析解与数值解 • 由已知公式一步步推导出的解 • 例如,高等数学计算,复杂问题不能手工求解,需要借助计算机 • 解析解不存在或不现实,需要数值解 • 不存在 • 不存在 p,工程应用3.14159即可 • 高阶矩阵的行列式,计算量 Slide 4 (of 97)数学建模课程模板 东北大学信息学院

  5. 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)) Slide 5 (of 97)数学建模课程模板 东北大学信息学院

  6. 6.2.2 其他线性代数问题求解 • 线性代数方程求解 • 解的判定矩阵 • 三种情况 • 唯一解 • 无穷多解 • 无解,最小二乘解 • Lyapunov方程、Riccati方程等 • lyap、are等函数可以直接求解 • 矩阵函数求解 Slide 6 (of 97)数学建模课程模板 东北大学信息学院

  7. 6.3 非线性方程求解 • 非线性方程的解析解 • 什么时候存在解析解? • 单变量多项式方程 • 可以转换成单变量多项式方程的多元方程 • 准解析解 • 非线性方程的数值解 • 图解法 • 任意指定初值进行搜索求解 • 非线性矩阵方程的求解 Slide 7 (of 97)数学建模课程模板 东北大学信息学院

  8. 6.3.1 非线性方程的解析解求解 • MATLAB的solve函数可以求解方程 • 简单例子:鸡兔同笼问题的直接求解 • 数学问题 • MATLAB求解语句 Slide 8 (of 97)数学建模课程模板 东北大学信息学院

  9. 复杂例子 • 数学形式 • MATLAB求解语句(准解析解) • 解的检验 Slide 9 (of 97)数学建模课程模板 东北大学信息学院

  10. 另一个复杂例子 • 求解 • 检验 Slide 10 (of 97)数学建模课程模板 东北大学信息学院

  11. 非线性方程的准解析解 • 考虑非线性方程 • 求解 • 验证 • 问题:该方程只有这一个解吗? Slide 11 (of 97)数学建模课程模板 东北大学信息学院

  12. 6.3.2 一元、二元方程的图解法 • 图解法只适合求解一元、二元方程 • 利用隐函数绘制函数ezplot,辅以hold on,可以把联立方程的解画在一个坐标系下 • 重解前例 • MATLAB语句 Slide 12 (of 97)数学建模课程模板 东北大学信息学院

  13. 6.3.3 一般非线性方程的数值求解 • 方程的标准型 其中,均是列向量或矩阵,维数相同 • 求解步骤: • 选择变量 ,将非线性方程表示成标准型形式 • 编写MATLAB程序描述原方程 • *.m函数形式、inline函数、匿名函数形式 • 调用fsolve函数求解方程 Slide 13 (of 97)数学建模课程模板 东北大学信息学院

  14. 求解实例,仍考虑前面例子 • 选择变量 ,则 • 向量形式 Slide 14 (of 97)数学建模课程模板 东北大学信息学院

  15. 用MATLAB描述 • 匿名函数描述 • MATLAB函数描述,生成 myeq.m文件 • 求解、验证 Slide 15 (of 97)数学建模课程模板 东北大学信息学院

  16. 提高求解精度 • 停止迭代条件 • TolX • TolFun • MaxIter: 最大迭代步数超限,默认500步 • 设置方法 • 求解、检验 • 寻找其他解:换初值 Slide 16 (of 97)数学建模课程模板 东北大学信息学院

  17. 6.3.4 非线性矩阵方程计算机求解 • 能直接求解矩阵方程 • 举例,扩展Riccati方程 其中 • 求解、检验、其他解 Slide 17 (of 97)数学建模课程模板 东北大学信息学院

  18. 6.3.5 求解方法比较、总结 • 图解法 • 局限性:一元二元,精度低 • 优点:显示出感兴趣区域全部实根 • 准解析解方法 • 局限性:多项式类方程、不能选择初值 • 优点:全部根包括复根、精度高 • 一般数值解法 • 局限性:实根、依赖于初值 • 优点:任意非线性方程、精度适中、矩阵方程 Slide 18 (of 97)数学建模课程模板 东北大学信息学院

  19. 6.4 最优化问题求解 • 无约束最优化问题 • 有约束最优化问题 • 特殊问题 • 线性规划 • 二次型规划 • 一般问题 • 进化算法及其全局最优解法 • 整数规划、混合整数规划、0-1规划 • 动态规划与最短路径求解 Slide 19 (of 97)数学建模课程模板 东北大学信息学院

  20. 6.4.1 无约束最优化问题求解 • 数学形式 ,最大值问题的变换 • 物理意义介绍 • 目标函数描述 • 匿名函数、M函数 • MATLAB求解 Slide 20 (of 97)数学建模课程模板 东北大学信息学院

  21. 无约束最优化求解举例 • 求解步骤 • 变换成标准型,引入 ,则 • 描述目标函数 • 求解 Slide 21 (of 97)数学建模课程模板 东北大学信息学院

  22. 图形验证 • 中间 过程 Slide 22 (of 97)数学建模课程模板 东北大学信息学院

  23. 带有变量边界约束的最优化问题 • 数学描述 • 问题求解方法 • 可以按照有约束最优化问题求解 • 利用免费工具箱求解 http://www.mathworks.com/matlabcentral/fileexchange/ loadFile.do?objectId=8277&objectType=file Slide 23 (of 97)数学建模课程模板 东北大学信息学院

  24. 最优化问题求解其他考虑 • 全局最优解和局部最优解 • 几何解释 • 如何避免 • 初值考虑、多初值 • 并行算法,如遗传算法 • 最优化加速算法 • 最优区域过于平缓 • 考虑采用利用梯度信息 Slide 24 (of 97)数学建模课程模板 东北大学信息学院

  25. 6.4.2 有约束最优化问题的求解 • 有约束最优化问题的数学形式 • 约束条件,≥不等式的处理 • 特殊形式 • 线性规划问题 • 二次型规划形式 • 一般最优化问题 Slide 25 (of 97)数学建模课程模板 东北大学信息学院

  26. 线性规划问题 • 一般数学形式 • MATLAB求解 Slide 26 (of 97)数学建模课程模板 东北大学信息学院

  27. 线性规划问题举例 • 提取矩阵、向量,对号入座 • 求解 Slide 27 (of 97)数学建模课程模板 东北大学信息学院

  28. 双下标线性规划问题举例 • 线性规划不能直接求解双下标问题 • 引入变换,变成单下标问题,如 Slide 28 (of 97)数学建模课程模板 东北大学信息学院

  29. 变换后的问题 • 求解 Slide 29 (of 97)数学建模课程模板 东北大学信息学院

  30. 二次型规划问题求解 • 数学标准型 • MATLAB求解函数 • 注意事项 • 注意1/2系数 Slide 30 (of 97)数学建模课程模板 东北大学信息学院

  31. 一般有约束非线性规划问题求解 • 数学形式 • MATLAB求解 Slide 31 (of 97)数学建模课程模板 东北大学信息学院

  32. 非线性规划举例 • 非线性约束条件的MATLAB描述 • 目标函数 Slide 32 (of 97)数学建模课程模板 东北大学信息学院

  33. 求解 • 另一种求解方法 Slide 33 (of 97)数学建模课程模板 东北大学信息学院

  34. 实际最优化问题举例 • 数学形式 • 多个变量需要优化,不能直接求解 • 引入决策变量进行替换,生成 x 向量 Slide 34 (of 97)数学建模课程模板 东北大学信息学院

  35. 变换后的最优化问题标准型 • 非线性规划 • 线性等式不等式约束、非线性等式约束 Slide 35 (of 97)数学建模课程模板 东北大学信息学院

  36. 非线性约束 • 问题求解 Slide 36 (of 97)数学建模课程模板 东北大学信息学院

  37. 6.4.3 进化算法及全局最优解法 • 为什么要引入进化算法? • 传统方法过于依赖初值,容易产生局部最优解 • 一元函数举例 Slide 37 (of 97)数学建模课程模板 东北大学信息学院

  38. 常用进化算法 • 遗传算法 • PSO—粒子群优化算法 • 蚁群算法 • 遗传算法的基本思路 • 基于生物界优胜劣汰、适者生存法则寻优 • 同时从多点开始并行搜索全局最优点 • 用数学方法实现了交叉、遗传、变异等 • 常用概率方法进化,每次的结果不同 Slide 38 (of 97)数学建模课程模板 东北大学信息学院

  39. 两个遗传算法工具箱可以使用 • 遗传算法最优化工具箱(GAOT)下载 • http://www.ise.ncsu.edu/mirage/GAToolBox/gaot/ • 主函数调用 • 遗传算法与直接搜索工具箱(GADS) Slide 39 (of 97)数学建模课程模板 东北大学信息学院

  40. 单变量最优化问题举例 • 求最大值 • 目标函数定义 (GAOT) • 求解方法 • GAOT工具箱求解 • GADS解法 Slide 40 (of 97)数学建模课程模板 东北大学信息学院

  41. 多变量问题举例 • GAOT工具箱求解 • GADS工具箱求解 Slide 41 (of 97)数学建模课程模板 东北大学信息学院

  42. 有约束最优化问题求解 • 线性规划 • GAOT求解 • 不能求解有约束最优化,引入惩罚函数,即不满足约束条件时认为设置小目标函数 • 不能求解等式约束,需要解出,如 Slide 42 (of 97)数学建模课程模板 东北大学信息学院

  43. 含有约束条件的目标函数(两个变量) • 求解语句 • 线性规划问题直接求解 Slide 43 (of 97)数学建模课程模板 东北大学信息学院

  44. 遗传算法小结 • 优点 • 可以求取全局最优解 • 计算量恒定,适合于在线寻优 • 缺点 • 适用范围窄,无约束最优化 • 精度低 • 利用遗传算法的优点 • 用遗传算法获得不精确的初值 • 由初值出发利用传统搜索方法寻优 Slide 44 (of 97)数学建模课程模板 东北大学信息学院

  45. 6.4.4 整数规划和混合整数规划 • 什么是整数规划、混合整数规划、0-1规划 • 数学形式 • 常用有效求解算法:分枝定界法 • 利用免费工具箱bnb20直接求解 • 下载地址 http://www.mathworks.com/matlabcentral/fileexchange/95 Slide 45 (of 97)数学建模课程模板 东北大学信息学院

  46. bnb20 工具箱使用和改进 • 调用格式 • 关键点:intlist的写法 • 程序编写较早,有待改进 • 调用前 • 调用后 Slide 46 (of 97)数学建模课程模板 东北大学信息学院

  47. 整数规划举例 • 数学问题(线性规划) • 要求所有决策变量均为整数 Slide 47 (of 97)数学建模课程模板 东北大学信息学院

  48. 混合整数规划 • 若决策变量1,4,5要求为整数 • bnb20的局限性 • 不能采用匿名函数 • 版本兼容性需要小修改 Slide 48 (of 97)数学建模课程模板 东北大学信息学院

  49. 0-1规划问题求解 • MATLAB只提供了0-1线性规划问题求解函数binprog,不能求解一般非线性问题 • 可以利用bnb20直接求解 • 求解技巧: 分别设置为0、1向量 Slide 49 (of 97)数学建模课程模板 东北大学信息学院

  50. 6.5 动态规划及最短路径求解 • 动态规划 Slide 50 (of 97)数学建模课程模板 东北大学信息学院

More Related