1 / 47

MATLAB 简介

MATLAB 简介. Matlab 是一种广泛应用于 工程计算 及 数值分析 领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。. Matlab 简介. 在欧美各高等院校, Matlab 已经成为 线性代数 、 数值分析 、 数理统计 、 自动控制理论 、 数字信号处理 、 时间序列分析 、 动态系统仿真 、 图像处理 等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。 Matlab 功能强大 、 简单易学 、 编程效率高 ,深受广大科技工作者的欢迎。. Matlab 简介.

bryson
Télécharger la présentation

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. MATLAB 简介

  2. Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。 Matlab 简介 • 在欧美各高等院校,Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

  3. Matlab 简介 • Matlab: Matrix Laboratry矩阵实验室 • Matlab 的发展 • 1980年,Moler 教授用 Fortran 语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。 • 1984年,Moler 等成立了 The MathWorks 的公司,用C 语言完全改写 Matlab,并推出第一个商业版。 • 增添图形图像处理、符号运算、以及与其他流行软件 的接口功能,使得 Matlab 的功能越来越强大。 • 到九十年代,在国际上 30 几个数学类科技应用软件中,Matlab 在数值计算方面独占鳌头。

  4. Matlab 的安装 • 购买(下载)Matlab 软件 • 插入光盘,自动运行; 或点击安装程序 setup.exe • 必须安装的部件 • Matlab • Symbolic Math Toolbox • Extended Symbolic Math

  5. Matlab 的特点与功能 • Matlab 是一个交互式软件系统  输入一条命令,立即就可以得出该命令的结果 • Matlab 具有很强的数值计算功能 • Matlab 以矩阵作为数据操作的基本单位, 但无需预先指定矩阵维数(动态定维) • 按照 IEEE 的数值计算标准进行计算 • 提供十分丰富的数值计算函数,方便计算,提高效率 • Matlab 命令与数学中的符号、公式非常接近, 可读性强,容易掌握

  6. Matlab 的特点与功能 • Matlab 符号计算功能 Matlab 和著名的符号计算语言 Maple 相结合 • Matlab 的绘图功能 Matlab提供丰富的绘图命令,很方便实现数据的可视化 • Matlab 的编程功能 Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。通过 Matlab 进行编程完成特定的任务

  7. Symbolic Math PDE Optimization Signal process Image Process Statistics Control System System Identification … … Matlab 的特点与功能 • Matlab 丰富的工具箱(toolbox) 根据专门领域中的特殊需要而设计的各种可选工具箱 • Matlab 的 Simulink 动态仿真集成环境 提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能

  8. Matlab 的基本用法 • Matlab 系统的启动 • 使用 Windows “开始” 菜单 • 运行 Matlab 系统启动程序 matlab • 双击 Matlab 快捷图标 • Matlab 系统的退出 • 在 Matlab 主窗口 File菜单中选择 Exit Matlab • 在 Matlab 命令窗口输入 exit 或 quit • 单击 Matlab 主窗口的“关闭”按钮

  9. Matlab 的工作界面 当前工作目录 命令 提示符 命令窗口 当前工作空间 输入命令的历史记录

  10. 数与算术表达式 • 基本运算 • 变量

  11. Matlab 中的数默认是双精度实数,表示方法同 C 语言 3, -9, 0.4, 1.603e-12, 3.23e+20 • 复数的输入 • z=3+4i(4与i之间不能有空格) • z=3+4*i 数与算术表达式 • 数与算术表达式 • 浮点运算的相对误差为eps • 浮点数表示范围为:10-308~ 10308

  12. 基本运算 方法:将运算式直接输入提示符号“>>”之后, 再按Enter键即可。 例:>>(5*2+1.5-0.8)*10/25 按Enter键后,显示结果 ans= 4.2800 + (加法), —(减法), *(乘法), /(右除法), \(左除法),^(乘方)

  13. 基本运算 也可定义变量,例如 >>x=(5*2+1.5-0.8)*10/25 按Enter键后,显示结果 x= 4.2800 也可定义变量,例如 >>x=(5*2+1.5-0.8)*10/25 按Enter键后,显示结果 x= 4.2800 注意:1)在运算式后加上分号“;”,就不会显示运算结果。 2)变量名必需使用字母、数字、下划线,第一个字母必须是英文字母,不能使用空格健。

  14. 常用的数学函数 • sin、cos、tan、cot、sec、csc、… • asin、acos、atan、acot、asec、acsc、… • exp、log、log2、log10、sqrt log是自然对数,即以 e为底数 • abs、conj、real、imag、sign 例:输入>>abs(-5) %求绝对值 ans= 5

  15. 以字母开头 • 后面可以跟 字母、数字和 下划线 • 长度不超过 63 个字符 • 变量名 区分字母的 大小 写 • Matlab 语句的通常形式 变量=表达式 表达式是用运算符将有关运算量连接起来的式子, 其结果被赋给赋值号“=”左边的变量 变量 • 变量命名原则

  16. 简单赋值运算 变量用于存放所赋的值和运算结果 变量名=表达式或者数值 例:>>x=18 %将18赋值给变量x >>y=3*x^2-78 %将3*x^2-78赋值给y >>u=x+y; >>v=x-y Matlab中的所有 标点符号必须在 英文状态下输入

  17. 练习 将变量x赋值为5,变量y 赋值为3x-4,求下列各式的值: x+y, x-y, x/y, yx, sin(y), log(x) 并且把这些值分别赋给变量 z_1, z_2, z_3, w_1, w_2, w_3

  18. 向量与矩阵的输入 • 向量与矩阵元素的引用 • 矩阵的基本运算

  19. 例: 向量与矩阵运算 • Matlab 的操作对象是矩阵 • 矩阵的直接排列输入 例:>>A = [1 2 3; 4 5 6; 7 8 9] • 矩阵用方括号“[ ]”括起 • 矩阵同一行中的元素之间用空格或逗号分隔 • 矩阵行与行之间用分号分开 • 直接输入法中,分号可以用回车代替

  20. 矩阵元素赋值 • 矩阵元素可以是任何数值表达式 例:>>x=[-1.3, sqrt(3), (1+2+3)*4/5 ] • 矩阵元素的单独赋值 例:>>x(5)=abs(x(1)) 注:Matlab自动将向量 x 的长度扩展到 5, 并将未赋值部分置零。

  21. 例:>>A = [A; 11 12 13 ] 在原矩阵的下方加一行 矩阵元素赋值 • 大矩阵可以把小矩阵作为其元素 练习:输入矩阵

  22. 利用小括弧和元素所在的位置(下标) x(i):向量 x 中的第 i 个元素 A(i, j):矩阵 A 中的第 i 行,第 j 列元素 例:>>x=2:1:5 例:>>x=1:2:5 >>y=2:5 >>y=1:2:6 矩阵元素的引用 • 单个元素的引用 例:>>A(2,3) • 多个元素的引用:冒号的特殊用法 产生一个由等差序列组成的向量; a 是首项,b 是公差,c 确定最后一项;若 b=1,则 b 可以省略。 a:b:c 例:>>x=3:2:1

  23. 矩阵元素的引用 • 多个元素的引用(续) 例:>>x(1:3) >>A(3,1:3) A(i:j, m:n) 表示由矩阵 A 的第i到第 j行和第 m到第 n 列交叉线上的元素组成的子矩阵。 可利用冒号提取矩阵 的整行或整列。 例:>>A(1, :) >>A(:, 1:2) >>A(:, :)

  24. 提取矩阵的部分元素: 冒号运算符 • A(:) A 的所有元素 • A(:,:)二维矩阵A 的所有元素 • A(:,k) A 的第 k 列, A(k,:) A 的第 k 行 • A(k:m) A 的第 k 到第 m 个元素 • A(:,k:m) A 的第 k 到第 m 列组成的子矩阵 练习 A(:)与 A(:,:)的区别 ? 如何得到由 A 的第一、三行和第一、二列组成的子矩阵? 冒号的作用

  25. 常见的矩阵生成函数 • 可利用 Matlab 自带函数来生成一些特殊的矩阵 例:>>C=ones(3) ans= 1 1 1 1 1 1 1 1 1 练习:生成一个4阶单位阵,5阶魔方阵。

  26. 常见矩阵生成函数

  27. 改变矩阵的形状 • 改变矩阵的形状:reshape reshape(A,m,n)将原矩阵按列方向进行排列成一个 m×n的新矩阵 重组后得到的新矩阵的元素个数 必须与原矩阵元素个数相等!

  28. 例:>>A=[1 2 3; 4 5 6] >>size(A) >>size(A,1) >>size(A,2) 矩阵的大小(行列数) • 查看矩阵的大小:size • size(A)列出矩阵 A 的行数和列数 • size(A,1)返回矩阵 A 的行数 • size(A,2)返回矩阵 A 的列数 • length(x) 返回向量X 的长度 • length(A) 等价于max(size(A))

  29. 矩阵的基本运算 • 矩阵的转置 • 矩阵的加和减 • 矩阵的乘法 • 矩阵的除法 • 矩阵的乘方 • 矩阵的超越函数 • 方阵的行列式、特征值和逆

  30. ’共轭转置 • .’转置,矩阵元素不取共轭 例:>>A=[1 2;2i 3i] >>B=A’ >>C=A.’ 矩阵的转置 • 矩阵的转置与共轭转置 点与单引号之间不能有空格!

  31. 例:>>A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4] >>C=A+B; D=A-B; 例:>>A=[1 2 3; 4 5 6]; B=[2 1; 3 4]; >>C=A*B 矩阵加减乘运算 • 矩阵的加减:对应分量进行运算 要求参与加减运算的矩阵具有 相同的维数 • 矩阵的普通乘法 要求参与运算的矩阵满足线性代数中矩阵相乘的原则

  32. 若 A 是方阵,p是正整数,则 A^p表示 A的 p次幂,即 p个 A相乘。 矩阵除法、乘方运算 • 矩阵的除法:/、\ 右除和左除 • 若 A 可逆方阵,则 B/A<==> x*A=B的解<==> A 的逆右乘B <==> B*inv(A) A\B <==> A*x=B的解<==> A 的逆左乘B <==> inv(A)*B • 矩阵的乘方(幂):^

  33. 练习 求下列各式的值, A的转置,A+B, A-B, A*B, A*C, B*C, A/B, B\A A4,C的行列数,将C变成4行2列的矩阵。

  34. 矩阵函数取值 • 函数作用在矩阵上的取值 设 x是变量, f是一个函数 • 当 x = a是标量时,f(x) = f(a)也是一个标量 • 当 x = [a1, a2, … , an] 是向量时, f(x)= [f(a1), f(a2), … , f(an)] f作用在 x的每个分量上 • 若 A是矩阵,则 f(A) 是一个与 A同形状的矩阵

  35. 例:>>x=[0:pi/4:pi]; A=[1 2 3; 4 5 6]; >>y1=sin(x); y2=exp(A); y3=sqrt(A); 函数取值 练习:求A的正弦矩阵,平方根矩阵。

  36. 方阵的行列式、特征值和逆 • 行列式函数det • 特征值 Ax=kx 函数eig • 逆A-1A=AA-1=I 函数inv 练习:求矩阵A的行列式、特征值和逆。

  37. 矩阵的数组运算 • 数组运算:对应元素进行运算 • 数组运算包括:点乘、点除、点幂 • 相应的数组运算符为:.*, ./, .\ , .^ 点与算术运算符之间不能有空格! 参与运算的对象必须具有相同的形状!

  38. 例:>>A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4]; >>C=A.*B; D=A./B; E=A.\B; F=A.^B; 矩阵的数组运算 例:x=[1 2 3]; y=[4 5 6]; x.^y=[1^4,2^5,3^6]=[1,32,729] x.^2=[1^2,2^2,3^2]=[1,4,9] 练习: 求A.*B; A./B; A.\B; A.^B的值

  39. MATLAB 几个知识点 • 帮助系统 • 分号,逗号,换行符 • 变量的查询 • 预定义变量 • 变量的输出 • 变量的存储 • 变量的读取

  40. 联机帮助 help显示指定命令的简短使用说明 • 详细使用帮助 doc以网页形式显示指定命令的帮助页 Matlab帮助系统 例:>>help eig >>help help 例:>>doc eig

  41. Matlab 变量 • 分号、逗号和续行符 • 若不想在屏幕上输出结果,可以在语句最后加分号 • 如果语句很长,可用续行符 “…”(三个点)续行 续行符的前面最好留一个空格 • 同一行中输入多个命令,可用逗号或分号隔开 例:

  42. 变量的查询 who显示工作空间中的所有变量 whos查看工作空间中变量的详细属性 变量的查询

  43. i/j虚部单位,即 系统预定义变量 • 系统预定义变量 • pi圆周率 ,其值为imag(log(-1)) • inf/Inf无穷大 • nan/NaNNot-a-Number,一个不定值,如 0/0 • eps浮点运算相对精度 应尽量避免给系统预定义变量重新赋值! • 特殊变量ans

  44. Matlab 的输出 • 输出格式 • Matlab 以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量 “ans” • 输出格式可以通过format命令指定 format 只改变变量的输出格式,但不会影响变量的值!

  45. 各种 format 格式

  46. 变量的存储 • 存储当前工作空间中的变量 • save将所有变量存入文件 matlab.mat • savemydata 将所有变量存入指定文件mydata.mat • savemydata.mat 将所有变量存入文件mydata.mat • 存储指定的变量 save文件名变量名列表 变量名列表中各变量之间用空格分隔。 例:>>save mydata A x z

  47. 将数据文件中的变量载入当前工作空间 • load mydata载入数据文件中的所有变量 • load mydata A x 从数据文件中提取指定变量 变量的读取 • 清除当前工作空间中的变量 • clear 清除当前工作空间中的所有变量 • clear A x 清除指定的变量

More Related