1、Matlab 简介q 在欧美各高等院校, Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。 Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。q Matlab是一种广泛应用于 工程计算 及数值分析 领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。Matlab 简介q Matlab: Matrix Laboratory 矩阵实验室q Matlab 的发展l 1980年, Mole
2、r 教授用 Fortran 语言编写了集 命令翻译 、科学计算 于一身的一套交互式软件系统。l 1984年, Moler 等成立了 The MathWorks 的公司,用C 语言 完全改写 Matlab, 并推出第一个商业版。l 增添图形图像处理、符号运算、以及与其他流行软件的接口功能,使得 Matlab 的功能越来越强大。l 到九十年代,在国际上 30 几个数学类科技应用软件中,Matlab 在数值计算方面独占鳌头。q 目前, Matlab 已经成为国际上最流行的科学与工程计算的软件工具,是一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为 “第四代 ”计算机语言。 就影响而言,至
3、今仍然没有一个别的计算软件可与 Matlab 匹敌。 q Matlab 的发行1984年, Matlab 1.0 ( DOS版, 182K, 20多个函数)1992年, Matlab 4.0 ( 93年推出 Windows版,加入 simulink)1994年, Matlab 4.2(得到广泛重视和应用)1999年, Matlab 5.3(真正实现 32位运算)2002年, Matlab 6.5(采用 JIT加速器)2004年, Matlab 7.0自 2006年起, Matlab每年更新两次Matlab 简介q 购买(下载) Matlab 软件Matlab 的安装q 插入光盘,自动运行; 或
4、点击安装程序 setup.exen 必须安装的部件 Matlab Symbolic Math Toolbox Extended Symbolic Math Matlab 的特点与功能q Matlab 具有很强的数值计算功能l Matlab 以 矩阵 作为数据操作的基本单位,但无需预先指定矩阵维数( 动态定维 )l 按照 IEEE 的数值计算标准进行计算l 提供十分丰富的数值计算函数,方便计算,提高效率l Matlab 命令与数学中的符号、公式非常接近,可读性强,容易掌握q Matlab 是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果Matlab 的特点与功能q Matlab 符号
5、计算功能Matlab 和著名的符号计算语言 Maple 相结合q Matlab 的编程功能Matlab具有 程序结构控制 、 函数调用 、 数据结构 、 输入输出 、 面向对象 等程序语言特征,而且 简单易学 、 编程效率高 。通过 Matlab 进行编程完成特定的任务q Matlab 的绘图功能Matlab提供丰富的绘图命令,很方便实现数据的可视化q Matlab 丰富的工具箱( toolbox)Matlab 的特点与功能根据专门领域中的特殊需要而设计的各种可选工具箱q Matlab 的 Simulink 动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真
6、、设置不同的输出方式来观察仿真结果等功能Symbolic Math PDEOptimizationSignal processImage ProcessStatisticsControl SystemSystem Identification Matlab 的基本用法q Matlab 系统的启动l 使用 Windows “开始 ” 菜单l 运行 Matlab 系统启动程序 matlabl 双击 Matlab 快捷图标q Matlab 系统的退出l 在 Matlab 主窗口 File 菜单中选择 Exit Matlabl 在 Matlab 命令窗口输入 exit 或 quitl 单击 Matla
7、b 主窗口的 “关闭 ”按钮Matlab 的工作界面命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符q 定义矩阵:直接输入法l 矩阵用方括号 “ ” 括起例: A = 1 2 3; 4 5 6; 7 8 9l 矩阵同一行中的元素之间用 空格 或 逗号 分隔l 矩阵行与行之间用 分号 分开l 直接输入法中,分号可以用 回车 代替例:矩阵q Matlab 的 操作对象是 矩阵l :命令提示符,不用输入:命令提示符,不用输入l 回车回车 :运行所输入的命令:运行所输入的命令q 矩阵元素可以是任何数值表达式例: x=-1.3, sqrt(3), (1+2+3)*4/5矩阵元素赋值q 矩阵元
8、素的单独赋值例: x(5)=abs(x(1)例: x(5)=abs(x(6) ?Matlab自动将向量 x 的长度扩展到 5,并将未赋值部分置零。q 大矩阵可以把小矩阵作为其元素矩阵元素赋值例: A=A ; 11 12 13在原矩阵的下方加一行如何在原矩阵的右边添加一列?q 单个元素的引用例: A(2,3)矩阵元素的引用q 多个元素的引用:冒号的特殊用法利用小括弧和元素所在的位置 (下标 )x ( i ) : 向量 x 中的第 i 个元素A ( i, j ) : 矩阵 A 中的第 i 行,第 j 列元素a:b:c 产生一个由 等差序列 组成的向量; a 是首项, b 是公差, c 确定 最后一
9、项;若 b=1, 则 b 可以省略。例: x=1:2:5 y=1:2:6例: x=2:1:5 y=2:5例: x=3:2:1例: x(1:3) A(3,1:3)矩阵元素的引用A(i:j, m:n) 表示由矩阵 A 的第 i 到第 j 行和第 m 到第 n列交叉线上的元素组成的 子矩阵 。可利用冒号提取矩阵 的整行或整列。例: A(1, :) A(:, 1:3) A(:, :)Matlab帮助系统q 联机帮助l help 显示指定命令的简短使用说明例: help eig help help q 详细使用帮助l doc 以网页形式 显示指定命令的帮助页例: doc eig q 其它相关命令help
10、desk、 helpwinMatlab 查找命令l lookfor 按指定的关键词查询与之相关的命令例: lookfor inverse l which 显示指定函数所在的目录例: which eig q 其它相关命令what、 more、 cd、 dirq 变量命名原则Matlab 变量u 以 字母开头u 后面可以跟 字母、数字 和 下划线u 长度 不超过 63 个字符 ( 6.5 版本以前为 19 个 )u 变量名 区分字母的 大小 写q Matlab 语句的通常形式变量 = 表达式表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号 “=”左边的变量q 分号和续行符的作用Mat
11、lab 变量l 若不想在屏幕上输出结果,可以在语句最后加 分号 l 如果语句很长,可用 续行符 “” (三个点)续行续行符 的前面最好留一个空格例:q 变量的查询Matlab 变量l who 显示工作空间中的所有变量l whos 查看工作空间中变量的详细属性q 系统预定义变量Matlab 变量u pi : 圆周率 u inf, Inf : 无穷大 u nan, NaN : Not-a-Number,一个不定值,如 0/0u eps : 2.22e-016, 浮点运算相对精度 , 即大约保持 16 位有效数字。q 特殊变量 ansu i, j : 虚部单位,即应尽量避免给系统预定义变量重新赋值!
12、q 数与算术表达式Matlab 数值运算u Matlab 中的数默认是 双精度实数 ,表示方法 同 C 语言3, -9, 0.4, 1.603e-12, 3.23e+20u 浮点运算的 相对误差为 epsu 浮点数表示范围为 : 10-308 10308u 复数的输入l z=3+4i (4 与 i 之间不能有空格 )l z=3+4*i复数作为矩阵元素输入时,加号两边不能有空格 !q 数学运算符u + 加法Matlab 数值运算u - 减法u * 乘法u / 和 除法(右除和左除)u 幂运算q 命令分隔符: 逗号 和 分号q 输出格式Matlab 的输出u Matlab 以双精度执行所有的运算,
13、运算结果可以 在屏幕上输出 ,同时 赋给指定变量; 若无指定变量,则系统会自动将结果赋给变量 “ans” u Matlab 中数的输出格式可以通过 format 命令指定format 只改变变量的输出格式,但不会影响变量的值 !各种 format 格式格式 解 释 例format 短格式(缺省 显 示格式),同 short 3.1416format short 短格式(缺省 显 示格式),只 显 示 5位 3.1416format long 长 格式,双精度数 15位, 单 精度数 7位 3.14159265358979format short e 短格式 e方式(科学 计 数格式 ) 3.1
14、416e+000format long e 长 格式 e方式 3.141592653589793e+000format short g 短格式 g方式 3.1416format long g 长 格式 g方式 3.14159265358979format compact 压缩 格式format loose 自由格式format + / format bank / format rat / format hex (详 情 查 看 联 机帮助 )变量的存储q 存储当前工作空间中的变量u save 将所有变量存入文件 matlab.matu save mydata 将所有变量存入 指定文件 myda
15、ta.matq 存储 指定 的变量u save mydata.mat 将所有变量存入 文件 mydata.matsave 文件名 变量名列表例 : save mydata A x z 变量名列表中各变量之间用 空格 分隔变量的读取q 将数据文件中的变量载入当前工作空间u load mydata 载入数据文件中的所有变量u load mydata A x 从数据文件中提取指定变量q 清除当前工作空间中的变量u clear 清除当前工作空间中的所有变量u clear A x 清除指定的变量u clc 清除命令窗口中的所有输入和输出信息几个小技巧q Matlab 的命令记忆功能: 上下箭头键q 命令补全功能: Tab 键 可以先输入命令的前几个字符,再按上下键缩小搜索范围 q 用 Esc 键 删除命令行q 中断正在执行的操作 Ctrl+C