1 / 39

第 2 章 MATLAB 语言概述

第 2 章 MATLAB 语言概述. 东北大学信息学院 薛定宇. 数学建模问题及数学语言工具. 可以分为两个单独的问题 如何从给出的用语言描述的问题建立起其数学描述(即数学模型) 如何得出数学模型的解 数学模型的求解需要计算机工具 MATLAB 为首选 学会 MATLAB 语言,一般编程和使用方法 学会各个分支数学问题的计算机求解 灵活运用 MATLAB 解决遇到的问题 计算机仿真问题求解( Simulink ). 参考阅读建议. 薛定宇、陈阳泉,高等应用数学问题的 MATLAB 求解, 2004, 2008 ,清华大学出版社 (数学分支覆盖全面),英文版

Download Presentation

第 2 章 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. 第2章MATLAB语言概述 东北大学信息学院 薛定宇 数学建模课程模板 东北大学信息学院

  2. 数学建模问题及数学语言工具 • 可以分为两个单独的问题 • 如何从给出的用语言描述的问题建立起其数学描述(即数学模型) • 如何得出数学模型的解 • 数学模型的求解需要计算机工具 • MATLAB为首选 • 学会MATLAB语言,一般编程和使用方法 • 学会各个分支数学问题的计算机求解 • 灵活运用MATLAB解决遇到的问题 • 计算机仿真问题求解(Simulink) 数学建模课程模板 东北大学信息学院

  3. 参考阅读建议 • 薛定宇、陈阳泉,高等应用数学问题的MATLAB求解,2004, 2008,清华大学出版社 (数学分支覆盖全面),英文版 • 张志涌,精通MATLAB 6.5,北京航空航天大学出版社,2003 (编程介绍深入) • 陈怀琛,MATLAB及其在理工课程中的应用指南,2000,2004,西安电子科技大学出版社 (在相关课程问题的覆盖面全) 数学建模课程模板 东北大学信息学院

  4. 内容提要 • MATLAB语言简介 • MATLAB编程基础 • MATLAB变量的基本运算 • MATLAB语言基本程序结构 • MATLAB语言与可视化 • MATLAB应用演示 数学建模课程模板 东北大学信息学院

  5. 2.1 MATLAB 语言简介 • MATLAB是当今国际上三大数学语言之一,是科学技术领域事实上的通用计算机语言 • 语句集成度高,使用灵活 • 易于入门、程序易于调试、跨平台 • 可视化(图形表示)功能强大 • 几乎适用于所有应用数学与工程分支 • 强大的计算机仿真功能 数学建模课程模板 东北大学信息学院

  6. 其他“高级”语言(如C)的局限性 • 语句繁杂 • 没有基本数学运算求解工具 • 程序冗长,容易出错,得出结果难以令人相信 • 各种各样的隐患 • 结果可视化效果不佳 数学建模课程模板 东北大学信息学院

  7. 例1 矩阵特征值求解 • 用数学库EISPACK • 用MATLAB: eig(A) 数学建模课程模板 东北大学信息学院

  8. 例2 可能的隐患 Fibonacci数列 • 数学描述 • C语言实现 • 存在问题:数据结构的预定义 • MATLAB实现 数学建模课程模板 东北大学信息学院

  9. 2.2 MATLAB编程基础 • 变量与常量 • 数据结构 • 基本语句结构 • 语句流程 • 程序结构 • 程序调试 数学建模课程模板 东北大学信息学院

  10. 2.2.1 变量与常量 • 变量名由字母开头,后面可跟其他字母、数字和下划线 • MATLAB变量名区分大小写 • MATLAB保留的变量名为常量,如pi,i,j,eps,Inf 和 NaN • 常量内容可改写,但应该慎重,必要时需要重新定义 i=sqrt(-1) 数学建模课程模板 东北大学信息学院

  11. 2.2.2 数据结构 • 和科学计算相关的主要有两种: • 双精度数组 (矩阵为最主要形式,用于数值运算,可以为复数矩阵;还可以直接定义出向量、标量等) • 符号变量 (用于公式推导和解析解求解) • 其他数据类型 • 单精度变量、整型变量等数值型变量 • 字符串、多维数组、结构体、类与对象等 数学建模课程模板 东北大学信息学院

  12. 双精度数据结构 • 矩阵的表示 • 矩阵简单分析 F=inv(A) • 复数矩阵的表示 数学建模课程模板 东北大学信息学院

  13. 特殊矩阵的输入 • 单位矩阵 A=eye(m,n) • 零矩阵 A=zeros(n,m) • 对角矩阵 A=diag([1,3,5,7,2]) • 均匀分布随机数矩阵 A=rand(n,m) • 多项式 按照降幂排列输入系数向量 p=[1 2 3 4 0 5] • 伴随矩阵 A=compan(p) 数学建模课程模板 东北大学信息学院

  14. 符号变量定义与处理 • 和数值型不一样,可以用于公式推导 • 定义方法 syms A B C syms A B positive 还有real,nonzero等选项 • 转换方法,用于精确运算 B=sym(A) 数值、符号变量区别 1/9 0.111111111111111 数学建模课程模板 东北大学信息学院

  15. 符号变量的化简与显示 • 符号变量数值显示 vpa命令 问题:p 可以记忆到小数点后多少位? • 非最简的结果可以用simple函数化简 • collect合并同类项 • expand展开 • numden,gcd, lcm, factor • 变量替换 subs • pretty, latex 数学建模课程模板 东北大学信息学院

  16. 2.2.3 基本语句结构 • 直接赋值语句 • 函数调用语句 A=5; B=[1 2; 3 4]; C=A+6+B^2; [e,f,g]=funname(a,b,c) 数学建模课程模板 东北大学信息学院

  17. 2.2.4 程序流程 • 循环语句 for, while • 转移语句 if, elseif, else • 开关语句 switch case • 试探语句 try catch • 不同流程语句的嵌套使用 • 每个流程应该对应一个end 数学建模课程模板 东北大学信息学院

  18. for 循环 • 循环结构 • 例题:求和 • MATLAB实现 数学建模课程模板 东北大学信息学院

  19. while 循环 • 循环结构 • MATLAB举例 数学建模课程模板 东北大学信息学院

  20. 不同循环结构有不同的特色、用途 • 看似for循环优于while循环 • 例:for循环解决不了的问题,求最小m • 用while循环可以直接求解 数学建模课程模板 东北大学信息学院

  21. 条件转移语句结构 • 各种结构 数学建模课程模板 东北大学信息学院

  22. 开关结构 • 和C语言的开关结构有区别 数学建模课程模板 东北大学信息学院

  23. 全新的试探结构 • 全新结构 • 优点: • 设置错误陷阱 • 提高算法的执行效率 数学建模课程模板 东北大学信息学院

  24. 2.3 矩阵的运算 • 代数运算 • +、- 、* 、/ 、\ • ^, 点运算 • 逻辑运算 • &、|、~、xor • 比较运算 • >= 、<= 、> 、< 、~= • find 、all 、any 数学建模课程模板 东北大学信息学院

  25. 2.4 基本程序结构 • 交互式命令 • 脚本程序 • M-函数 主流编程方法 • 为什么需要M-函数 • M-函数实现 • 何时使用M-函数 数学建模课程模板 东北大学信息学院

  26. 函数的结构与编程 • 函数的入口 • 函数的调用 数学建模课程模板 东北大学信息学院

  27. 2.5 MATLAB语言与科学可视化(将数据用图形表示) • 二维曲线 • 直角坐标系、极坐标、 • 三维图形 • 三维曲线、轨迹 • 三维曲面 • 四维表示 • 动画 (时间为第4维) • 三维图下的切面表示 数学建模课程模板 东北大学信息学院

  28. 2.5.1 二维曲线绘制 • 由实测或计算出来的数据直接绘图 • 已知 • 绘图语句 • 构造绘图变量 • 画图 plot(t, y) • 扩展 • 图形后处理 数学建模课程模板 东北大学信息学院

  29. 已知函数曲线绘制 • 已知函数 • 自变量向量生成 • 等间距 • 等对数间距 logspace • 不等间距 • 计算函数值 (点运算) • 绘图并检验 数学建模课程模板 东北大学信息学院

  30. 函数 • MATLAB命令 • 检验 • 数据存储 • 导入 数学建模课程模板 东北大学信息学院

  31. 极坐标图形绘制 • 绘制极坐标函数 • 仍然首先生成q 向量,再用点运算计算r • 调用polar函数绘图 • 绘制曲线 • 注意周期检验 数学建模课程模板 东北大学信息学院

  32. 2.5.2 隐函数绘制 • 有的函数不能这样绘制 • 例:隐函数 • 非单值函数 • MATLAB 语句 数学建模课程模板 东北大学信息学院

  33. 2.5.3 三维曲线绘制 • 三维曲线及三维参数方程 • 曲线绘制 • 生成 t • 计算 x,y,z • 绘图 • 图坐标读取及坐标系旋转 数学建模课程模板 东北大学信息学院

  34. 2.5.4 三维曲面绘制 • 数学函数 • 曲面绘制方法 • 在 x-y 平面生成网格 • 计算网格上每点的函数值 • 用surf绘制表面图或mesh画网格图 • 语句 • 插值或光滑处理 数学建模课程模板 东北大学信息学院

  35. 2.5.5 视角设置 • 用可视方法旋转 • 用命令旋转 • 视角定义 • 仰角 • 方位角 • 唯一确定视角 • 视角设置 view(a,b) • 三视图 数学建模课程模板 东北大学信息学院

  36. 2.6 MATLAB应用演示 • 高等数学公式推导 • 线性代数运算 • 积分变换与复变函数 • 非线性方程求解与最优化 • 微分方程求解 • 数据插值与拟合 • 概率论与数理统计 • 非传统方法 (FL, NN, GA, PSO, RS, FDA等) 数学建模课程模板 东北大学信息学院

  37. 2.6.1 高等数学中的公式推导 • 高等数学几乎全部内容用5个函数即可求解 • 求极限 limit • (偏)导数、微分运算 diff • 积分运算 int • Taylor级数展开 taylor • 级数求和 symsum • 不必记忆类型及方法、技巧,直接求解 • 没有中间结果 数学建模课程模板 东北大学信息学院

  38. 函数分析实例 • 已知函数 • 先定义自变量为符号变量,再写函数 • 函数分析 • 一阶导数 • 高阶导数 • 导数还原(积分) • Taylor幂级数展开 • 有限项Taylor幂级数逼近效果研究 数学建模课程模板 东北大学信息学院

  39. 小 结学习 MATLAB语言的方法 • “三十字” 学习方法: 带着问题学, 活学活用,学用结合, 急用先学,立竿见影, 要在用字上狠下功夫。 数学建模课程模板 东北大学信息学院

More Related