




免费预览已结束,剩余67页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第二章MATLAB简介 一 Matlab使用入门二 数值计算三 符号运算四 图形处理五 程序设计六 在计算方法中的应用 2 内容讲解安排 目的意义 掌握Matlab的基本用法2 重点 数值计算 符号运算 图形制作及程序设计3 难点 程序设计4 内容分配 第2次 1Matlab简介 2Matlab的数值计算功能 3Matlab的符号运算功能 4Matlab的图形制作功能 5Matlab的M文件及程序设计 3 一 Matlab简介 1 Matlab的特点 例1 1Lagrange插值 Lagrange m Lag m MATLAB源于MatrixLaboratory一词 原意为矩阵实验室 一开始它是一种专门用于矩阵数值计算的软件 随着MATLAB逐渐市场化 MATLAB不仅具有了数值计算功能 而且具有了数据可视化功能 由于MATLAB的开放性 易学易用性等特点 MATLAB已成为高校学生 老师 科研人员和工程计算人员的最好选择 MATLAB是真正面向21世纪的科学计算语言 4 MATLAB语言主要有以下其它语言不可比拟的特点 1 功能强大 MATLAB4 0以上 不包括4 0 的各版本 不仅在数值计算上保持着相对其它同类软件的绝对优势 而且还开发了自己的符号运算功能 特别是MATLAB6 0版本在符号运算功能上丝毫不逊于其它各类软件 如MathCAD Mathematica等 只要学会了MATLAB 就可以方便地处理诸如矩阵变换及运算 多项式运算 微积分运算 线性与非线性方程求解 常微分方程求解 偏微分方程求解 插值与拟合 统计及优化等问题 5 做过数学计算的人都知道 在计算中最难处理的就是算法的选择 但MATLAB中许多功能函数都带有算法的自适应能力 且算法先进 大大解决了用户的后顾之忧 另外 提供了一套完善的图形可视化功能 为用户向别人展示自己的计算结果提供了广阔的空间 MATLAB允许用户以数学形式的语言编写程序 比BASIC语言 FORTRAN语言和C语言等更接近于书写公式的思维方式 2 语言简单 6 它的操作和功能函数指令就是以平时计算机和数学书上的一些简单的英文单词表达的 由于它是用C语言开发的 它的不多的几个程序流控制语句同C语言差别甚微 初学者很容易掌握 MATLAB语言的帮助系统的功能也相当强大 用户可以方便地查学到想要的各种信息 另外 MATLAB还专门为初学者 包括其中某一个工具箱的初学者 提供了intro及demo等演示命令 用户可以从中得到兴趣的例子及演示 7 3 扩充能力强 可开发性强 MATLAB可扩充性和可开发性起着不可估量的作用 MATLAB本身就像一个解释系统 对其中的函数程序的执行以一种解释执行的方式进行 这样最大的好处是MATLAB完成了一个开放的系统 用户可以方便地看到函数的源程序 也可以方便地开发自己的程序 甚至创建自己的 库 另外 MATLAB并不 排他 MATLAB可以方便地与FORTRAN C语言进行连接 以充分利用各种资源 用户只需将已有的EXE文件转换成MEX文件 就可以方便地调用有关程序和子程序 8 4 编程易 效率高 从形式上看 MATLAB程序文件是一个纯文本文件 扩展名为M 用任何字处理软件都可以对它进行编写和修改 因此程序易调试 人机交换型强 另外 MATLAB6 5也具有比较健全的调试系统 调试方便 简单 9 2 MATLAB的发展历史 在20世纪70年代 CleveMoler和其同事在美国国家科学基金的资助下研究开发了LINPACK和EISPACK的Fortran子程序库 这两个程序库代表着当时矩阵计算的最高水平 到20世纪70年代后期 身为墨西哥大学计算机科学系系主任的CleveMoler 在给学生开线性代数课程时 他开始用业余时间为学生编写使用方便的LINPACK和EISPACK的接口程序 CleveMoler给这个接口程序取名为MATLAB 意思是 矩阵实验室 10 不久以后 MATLAB受到了学生的普遍欢迎 并且 MATLAB也成了应用数学界的一个术语 1983年早春 CleveMoler到斯坦福大学访问 身为工程师的JohnLittle意识到MATLAB潜在的广阔应用领域应在工程计算方面 于是在同年 他与Moler SteveBangert一起合作开发了第二代专业版MATLAB 从这一代开始 MATLAB的核心就采用C语言编写 也是从这一代开始 MATLAB不仅具有数值计算功能 而且具有了数据可视化功能 11 1984年 Mathworks公司成立 把Matlab推向了市场 并继续Matlab的研制和开发 Matlab在市场上的出现 为各国科学家开发本学科相关软件提供了基础 1993年 Matlab的第一个Windows版本Matlab3 5k问世 同年 支持Windows3 x的Matlab4 0版本推出 同以前的版本比起来4 0版本作了很大的改进 如增加了Simulink 动态仿真 Control Network Optimization SignalProcessing Spline Identification RobustControl Mu analysisandsynthesis Mu分析与合成 等工具箱 12 1993年11月 Matnworks公司又推出了Matlab4 1版本 首次开发了SymbolicMath符号运算工具箱 其升级版本Matlab4 2在用户中有着广泛的应用 1997年 Matlab5 0版本问世了相对于Matlab4 x版本来说 它可以说是一个飞跃 真正的32位运算 功能强大 数值计算加快 图形表现有效 变成简洁直观 用户界面十分友好 2000年下半年 Mathworks公司推出了他们的最新产品Matlab6 0 R12 的试用版 并于2001年初推出了正式版 同前面的版本对比起来 Matlab6 0在Matlab5 x的基础上这种在计算速度上作了比较大的改善 计算速度有了明显的提高 13 3 MATLAB6 x的新特点 与MATLAB5 x版本相比较 MATLAB6 x版本在各个方面都进行了较大的改进和增补 增加了许多新功能和更为有效的处理方法 甚至在整个系统的结构上也作了很大的改进 1 开发环境扩展 2 数值处理功能增强 3 程序及数据结构优化 4 图形处理 5 用户图形界面 6 应用程序接口 14 4 MATLAB6 x的桌面平台 1 Matlab的主窗口 2 命令窗口 3 历史窗口 4 当前目录窗口 5 发行说明窗口 6 工作间管理窗口 15 4 MATLAB6 5的帮助系统 1 联机帮助系统 按下主窗口的 及Help下拉菜单的前四项 2 命令窗口查询系统 help help 函数名 lookfor函数 3 联机演示系统基本介绍窗口 intro 演示界面 demo 16 5 常用的命令与技巧 dir 显示目录下文件type 显示文件内容clear 清理内存变量pack 收集内存碎片 扩大内存空间clc 清除工作窗口 例1 2南半球气旋流的曲面图 photo1 m photo2 m 17 二 MATLAB的数值计算功能 1 Matlab的数据类型 1 变量 2 常量 pi 3 1415926 i j eps 10 52 inf 无穷大 变量名以字母开头 长度不超过31位 区分大小写 3 数字变量258 123 x 258 123 注意 加分号不显示结果 不加分号显示结果 4 字符串 s matrixlaboratory size s s 4 5 向量与矩阵 18 演示1 jisuan01 m 例2 1要求计算水在00C 200C 400C 600C 800C的粘度 已知水的粘度随温度的变化公式为 其中 0为水在00C的粘度 在00C值为 785 10 3 19 2 向量及其运算 1 向量的生成 i 直接输入向量 a 1234 b 2 1 4 5 c 1 2 3 4 ii 利用冒号表达式生成向量a 1 2 12 b 1 6 c 12 2 1 iii 线性等分向量的生成 y linspace x1 x2 生成100维的行向量y linspace x1 x2 n 生成n维的行向量 20 2 向量的加 减 数乘 点乘 叉乘等运算 已知向量a a1 a2 a3 b b1 b2 b3 则有 数量加法 a 2 a1 2 a2 2 a3 2 数量减法 a 2 a1 2 a2 2 a3 2 数乘向量 a 2 a1 2 a2 2 a3 2 向量加法 a b a1 b1 a2 b2 a3 b3 向量减法 a b a1 b1 a2 b2 a3 b3 向量相乘 a b a1 b1 a2 b2 a3 b3 向量右除 a b a1 b1 a2 b2 a3 b3 向量左除 a b b1 a1 b2 a2 b3 a3 21 点乘运算 dot a b a1 b1 a2 b2 a3 b3 sum a b a1 b1 a2 b2 a3 b3 向量混合积 dot a cross b c 演示0 在命令窗口演示向量的各种运算 向量乘幂 a 2 a1 2 a2 2 a3 3 2 a 2 a1 2 a2 2 a3 a b a1 b1 a2 b2 a3 b3 22 3 矩阵的运算 1 矩阵的生成 在命令窗口直接键入 A 123 456 789 用M文件输入大型矩阵A 101232415263 212345677843 213490896754 演示1 juzhen01 m 注意矩阵的输入法 及行数 列数的确定函数size A size A 1 行数 size A 2 列数 23 2 矩阵的基本运算 矩阵加法 A B A a 矩阵减法 A B A a 数乘矩阵 A 2 矩阵相乘 A B 注意匹配 A的列数等于B的行数 矩阵左除 A B 注意匹配 A的行数等于B的行数 用于解线性方程组 恰定 超定 欠定方程组 矩阵方程组 矩阵右除 A B 注意匹配 A的列数等于B的列数 用法同上 矩阵乘幂 A 2 注意匹配 A必须为方阵 24 3 矩阵的其它运算 zeros m n m行n列的零矩阵ones m n m行n列的全 矩阵 eye n n阶单位矩阵rand m n m行n列的均匀分布的随机数矩阵randn m n m行n列的均匀分布的随机数矩阵 det A 矩阵的行列式inv A 矩阵求逆rank A 矩阵求秩trace A 矩阵的迹 25 d eig A 矩阵的特征值 v d eig A 矩阵的特征值及特征向量poly A 矩阵的特征多项式 cond A 矩阵的条件数cond X p 向量或矩阵的范数 p 1 2 inf 演示 juzhen02 m 各种运算 26 4 矩阵的分解与变换 L U lu A LU三角分解 用于非奇异的一般矩阵 L为下三角阵 U为上三角阵 A LU U chol A 实对乘矩阵的平方根分解 U为上三角阵 Q R qr A 是对称矩阵的qr分解 Q为正交阵 R为上三角阵 A QR U S V svd A 更一般矩阵的奇异值分解 A为m n矩阵 A USV tril A 提取矩阵主下三角部分 tril A k 提取矩阵的第k条对角线 包括第k条对角线 下面的部分 k为正值为上方对角线 k为负值为下方对角线 27 triu A 提取矩阵主上三角部分 triu A k 提取矩阵的第k条对角线 包括第k条对角线 上面的部分 k为正值为下方对角线 k为负值为上方对角线 演示3 juzhen03 m 练习以上各种运算 注意掌握矩阵运算以下主要命令 1 求方阵的行列式 逆矩阵 广义逆 2 求方阵的特征值 特征向量 特征多项式 3 矩阵的各种分解 上三角 下三角 平方根 正交分解 28 例2 2用矩阵除法求解超定方程 x 1925313844 y 1932 34973 397 8 求出a b 解 这是一个超定方程组 Ax y A x2 1 建立m文件实现计算 演示4 juzhen04 m 29 4 多项式及其运算 1 多项式的表示法 对于多项式pn x a0 xn a1xn 1 an 1x an 用以下的行向量表示 p a0 a1 an 1 an i 系数多项式的直接输入法 例如 p3 x x3 5x2 6x 33 输入 p 1 56 33 p3 poly2sym p 给出多项式的具体形式 ii 特征多项式输入法 例如 a 123 234 345 p poly a p3 poly2sym p 30 iii 由根创建多项式 例如 p 11155125 x 2y polyval p x 2 多项式运算 i 求多项式的值 y polyval p x 例如 root 5 3 4i 3 4i p poly root p3 poly2sym p 31 ii 求多项式的根 root p 例如 p 2 56 19 roots p 例如 p1 1 56 19 poly2sym p1 p2 3 90 18 poly2sym p2 p12 conv p1 p2 poly2sym p12 p3 deconv p12 p2 iii 求多项式的乘除法运算 conv p1 p2 deconv p1 p2 32 iV 多项式微分 polyder p polyfit x y n 其中x y为拟合数据 n为拟和多项式的阶数 例如 p 1 56 19 p4 poly2sym p Dp polyder p P3 poly2sym Dp V 多项式拟合 33 例2 3 用5阶多项式对上的正弦函数进行最小二乘拟合 x 0 pi 20 pi 2 y sin x p polyfit x y 5 x1 0 pi 30 2 pi y1 sin x1 y2 polyval p x1 plot x1 y1 b x1 y2 r legend 原曲线 拟合曲线 axis 0 2 6 5 1 2 1 2 演示5 poly01 m 34 5 其它算例 执行字符串 用eval函数生成四阶的Hilbert函数 n 4 t 1 i j 1 a zeros n fori 1 nforj 1 na i j eval t endend 35 6 上机练习题 1 对于给定数据x 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 计算如下函数值 2 给定矩阵 1 计算矩阵行列式的值 2 计算矩阵的逆 3 计算矩阵的秩 特方程 4 计算矩阵的特征值 特征向量 5 计算矩阵的条件数 6 对矩阵进行LU分解 36 3 对于 解方程组Ax b 4 对于离散数据P 12324 12 试拟合三次多项式 1 求出该多项式的具体表达形式 2 求出该多项式的根 3 求出该多项式在x 2 5处的值 4 求出该多项式的微分 5 对于向量a 123 b 24 1 c 2 1 3 试求 1 a与b的向量积 2 a b c的混合积 37 三 MATLAB的符号运算功能 1 符号表达式的生成 1 创建符号函数f log x 2 创建符号方程equation a x 2 b x c 0 3 创建符号微分方程diffeq Dy y x 4 用sym命令来创建f sym sin x f sym a x 2 b x c 0 5 用sym命令创建的另一种方式symsxf sin x cos x 38 2 符号与数值之间的转换 符号运算得到的是精确解 有时候要对得到的解析解进行数值转换 主要有三个函数 digits vpa Subs 变量替换函数 Digits D 函数设置有效数字个数为D的近似解精度 Vpa s 符号表达式s在digits函数设置下的精度的近似解 Vpa s D 符号表达式s在digits D 精度下的近似解 Subs s old new 将符号表达式中old的换成new变量 Numeric s 将不含自由变量的符号表达式转换成数值形式 39 例3 1符号运算 1 解方程 3 x 1 0s solve 3 x 1 0 解析解digits 10 设置10位有效数字x vpa s 10位有效数字解析解orx vpa s 20 20位有效数字解析解numeric s 将解析解转换成数值解2 变量替换x sym x f x cos x f1 subs f x pi t sym t f1 subs f x t 3 解方程x2 ex 0s solve x 2 exp x 0 x vpa s 40 3 符号函数的运算 1 复合函数的运算 composecompose f g 以g的自变量为自变量compose f g z 以z为自变量compose f g x z x为f的自变量 g替换x 并将g的自变量换为zcompose f g t z t为f的自变量 g替换t 并将g的自变量换为zcompose f g x y z x为f的自变量 y为g的自变量 g替换x z替换y 41 例3 2f 1 1 x 2 g sin y h x tp exp y u 命令 symsxytuz compose f g compose f g t compose h g x z compose h g t z compose h p x y z compose h p t u z 演示1 fuhao01 m 42 反函数的运算 inverseg finverse f g finverse f z 例3 3 symsx y f x 3 1y finverse f 例3 4 f x 2 yg finverse f y 43 4 符号矩阵的创立 1 用sym函数直接创建符号矩阵a sym 1 s x sin x cos x 2 b x 9 exp x 2 y 2 log tanh y 2 将数值矩阵转化为符号矩阵 在Matlab中 数值矩阵不能直接参与符号运算 必须先转化为符号矩阵 不论数值矩阵的元素是用分数还是用浮点数表示 转化后的符号矩阵都将以最接近的精确有利形式给出 b 2 3 sqrt 2 0 222 1 4 1 0 23 log 3 c syms b 演示2 fuhao02 m 44 5 符号矩阵的计算 1 符号矩阵的四则运算a sym 1 x 1 x 1 1 x 2 1 x 3 b sym x 1 x 2 0 c a bd a be det a f inv b g rank a h exp b 演示 fuhao022 m 45 2 矩阵分解 特征值分解函数b sym x 1 x 2 0 x y eig b 三角抽取函数a sym 1 x 1 x 1 1 x 2 1 x 3 D diag a U triu a L tril a 1 符号表达式的 秦九韶型 重写p sym x 3 6 x 2 11 x 6 p3 horner p 46 6 符号微积分 1 符号极限limit f x a f在x a时的极限limit f f在x 0时的极限limit f x a right 右极限limit f x a left 左极限例6 1 symsxt 必须首先输入limit sin x x limit 1 2 t x 3 x x inf limit 1 2 t x 3 x x inf limit 1 x x 0 right limit sqrt x x 0 left 47 2 符号积分 不定积分f1 int cos x 关于x积分f2 int cos x t t 关于t积分定积分x int x 2 0 1 符号合计函数symsumsymskn x symsum k 2 0 10 求表达式从0到10的和f simple symsum k 2 0 n 和的最简形式 48 3 符号微分 i 微分函数diffsymsxy diff sin x 2 求函数的一阶导数diff sin x y x diff x 4 3 diff sin x y x 2 关于x求二阶导数 ii 梯度函数gradient演示3 fuhao03 m 49 7 符号代数方程求解 1 线性方程组的符号解法linsolvea sym 10 10 110 2 0 210 b sym 9 7 6 x linsolve a b 求得解析解x1 vpa x 转化为数值解演示4 fuhao04 mora 10 10 110 2 0 210 b 9 7 6 x sym a sym b 求得解析解x1 vpa x 转化为数值解演示5 fuhao05 m 50 2 非线性方程组的符号解法 i 非线性方程求解 solve fun 求得解析解x solve x 2 3 x 4 0 得解析解x1 vpa x 6 化为数值解 ii 非线性方程组求解fsolve fun x0 fun由M文件给出函数 x0为初值 是一种迭代解法 例7 1解非线性方程组先编写M文件fc m 再用fsolve调用fc 演示6 fc mandfuhao06 m 51 8 符号常微分方程求解 求解常微分方程的解析解 用函数dsolve equation 例8 1 dsolve Dx a x Dx dx dtdesolve D2x a x 例8 2 解常微分方程组演示7 fuhao07 m 52 9 符号函数的二维图 1 符号函数的简易绘图函数ezplotezplot f 绘制f x 的函数图 x的范围 2pi 2pi ezplot f xmin xmax x的范围为 xmin xmax 例如 ezplot sin x orezplotsin x ezplot sin x 0 2 pi 2 绘制函数图函数fplotfplot fun lims fun为M文件的函数名或是对变量x的可执行字符串 fplot fun lims n n 线条的宽度fplot fun lims LinSpec LinSpec线条的类型演示8 fuhao08 m 53 四 MATLAB的图形处理功能 1 二维图形 1 基本绘图命令 i 当plot函数仅有一个输入变量时y 132422 51 plot y 以y的索引坐标为横坐标画图y rand 100 1 100 1维的随机数plot y 绘制随机数的图形x rand 100 1 y rand 100 1 z x y i plot z 以实部为横坐标 虚部为纵坐标绘图 54 ii 当plot函数有两个输入变量时x 0 0 01 pi pi y sin x cos x plot x y iii 当plot函数有三个输入变量时plot x y s s为图形显示属性选项例如 x 1 0 1 pi 2 pi y sin x z cos x plot x y b plot x z rd 演示1 photo01 m 55 56 2 特殊的二维图形函数 i 特殊坐标系的二维图形函数 a 对数坐标下的图形semilogx x y s 以x为对数坐标semilogy x y s 以y为对数坐标loglog x y 以x y为对数坐标例如 x 1 0 1 pi 2 pi y sin x semilogx x y b 演示2 photo02 m 57 b 极坐标系下的图形绘制 函数 polar theta rho s exp x 0 0 01 pi 4 pi y sin x 2 x polar x y b 58 ii 二维特殊函数图 下表为二维特殊图形函数 59 例4 1绘制条形图 矢量图 函数曲线图 柄状图 等高线图 填充等高线图bar x y feather x y fplot fun lim pie x note contour z n z为数值矩阵 n为等高线条数contourf z n 填充等高线函数演示3 photo03 m 注意pause后的山形图原图 60 1 基本绘图命令 1 plot3函数格式 plot3 x y X是向量或矩阵plot3 x y s plot3 x1 y1 s1 x2 y2 s2 x3 y3 s3 组合绘图例2 1 绘制三维螺旋线 向量为参数 三维图形 矩阵为参数 演示4 photo04 m 2 三维图形 61 2 网图函数 3 着色函数surf x y z c 例2 2 mesh绘制三维面图meshc带等高线的面图 meshz带屏蔽的面图 演示5 photo05 m 62 特殊的图形函数 例2 2 绘制三维饼状图 着色等高线图 三维等高线图 柱面图 球面图演示6 photo06 m 63 1 图形控制坐标轴的控制函数axis xmin xmax ymin ymax 平面的坐标网图函数gridon gridoff2 图形的标注坐标轴标注xlabel 标注 属性 ylabel zlabel文本标注text x y 标注文本及控制字符串 交互式文本标注gtext图例标注legend 标注1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件流程图模板
- 课件水滴的旅行
- 传统纹样绘画课件
- 课件模板尺寸规格
- 小学书籍导读课件
- 足浴金牌服务培训
- 环保保护图形培训
- 创意美术山脉课件
- 制作书签的课件
- 运动锻炼的课件
- 输液并发症静脉炎课件
- 综艺脱口秀节目创意策划及实施方案
- 浪浪山小妖怪-2025~2026学年美术开学第一课《浪浪山小妖怪》
- (2025年标准)盆景购销协议书
- 设计合同结算协议书范本
- 2025广东湛江市廉江市政协办公室等7个单位招聘政府雇员9人笔试参考题库附答案解析
- (2025年标准)婚后债务分离协议书
- 2025广东河源紫金县殡仪馆招聘编外人员2人笔试参考题库附答案解析
- 2025四川南充营山县医疗卫生辅助岗招募39人考试参考题库附答案解析
- 看守所巡控岗位课件
- AIGC艺术设计 课件全套 第1-8章 艺术设计的新语境:AI的介入 -AIGC艺术设计的思考与展望
评论
0/150
提交评论