1、单击此处编辑母版标题样式单击此处编辑母版副标题样式* 1MATLAB简介n西南交通大学数学建模Matlab 简介q 在欧美各高等院校, Matlab 已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。 Matlab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。q Matlab是一种广泛应用于 工程计算 及数值分析 领域的新型高级语言,自 1984 年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。Matlab 简介q Matlab: M
2、atrix Laboratry 矩阵实验室q Matlab 的发展 1980年, Moler 教授用 Fortran 语言编写了集 命令翻译、 科学计算 于一身的一套交互式软件系统。 1984年, Moler 等成立了 The MathWorks 的公司,用C 语言完全改写 Matlab, 并推出第一个商业版。 增添图形图像处理、符号运算、以及与其他流行软件的接口功能,使得 Matlab 的功能越来越强大。 到九十年代,在国际上 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.02006年, Matlab R2006aMatlab 简介
4、q 购买(下载) Matlab 软件Matlab 的安装q 插入光盘,自动运行; 或点击安装程序 setup.exeMatlab 的特点与功能q Matlab 具有很强的数值计算功能 Matlab 以 矩阵 作为数据操作的基本单位,但无需预先指定矩阵维数( 动态定维 ) 按照 IEEE 的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率 Matlab 命令与数学中的符号、公式非常接近,可读性强,容易掌握q Matlab 是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果Matlab 的特点与功能q Matlab 符号计算功能Matlab 和著名的符号计算语言 Ma
5、ple 相结合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 系统的启动 使用 Windows “ 开始 ” 菜单 运行 Matlab 系统启动程序 matlab 双击 Matlab 快捷图标q Matlab 系统的退出在 Matlab 主窗口 File 菜单中选择 Exit Matlab 命令在 Matlab 命令窗口输入 exit 或 quit 命令单击 Matlab 主窗口的 “关闭 ”按钮Matlab
7、 的工作界面命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符q 矩阵的直接排列输入 矩阵用方括号 “ ”括起例: A = 1 2 3; 4 5 6; 7 8 9 矩阵同一行中的元素之间用 空格 或 逗号 分隔 矩阵行与行之间用 分号 分开 直接输入法中,分号可以用 回车 代替例:矩阵q Matlab 的 操作对象是 矩阵q 矩阵元素可以是任何数值表达式例: x = -1.3, sqrt(3), (1+2+3)*4/5 矩阵元素赋值q 矩阵元素的单独赋值例: x(5) = abs(x(1)例: x(5) = abs(x(6) ?注:注: Matlab自动将向量 x 的长度扩展到 5,
8、并将未赋值部分置零。q 大矩阵可以把小矩阵作为其元素矩阵元素赋值例: A = A; 11 12 13 在原矩阵的下方加一行如何在原矩阵的右边添加一列? A=2 1;-1 0; B=3;4; C=A Bq 单个元素的引用例: A(2,3)矩阵元素的引用q 多个元素的引用: 冒号的特殊用法利用小括弧和元素所在的位置(下标)x(i): 向量 x 中的第 i 个元素A(i, j): 矩阵 A 中的第 i 行,第 j 列元素a:b:c 产生一个由 等差序列 组成的向量; a 是首项, b 是公差, c 确定 最后一项;若 b=1, 则 b 可以省略。例: x=1:2:5 y=1:2:6例: x=2:1:
9、5 y=2:5例: x=3:2:1q 多个元素的引用 (续)例: x(1:3)矩阵元素的引用 A(3,1:3)A(i:j, m:n) 表示由矩阵 A 的第 i 到第 j 行和第 m 到第 n列交叉线上的元素组成的 子矩阵 。可利用冒号提取矩阵 的整行或整列。例: A(1, :) A(:, 1:2) A(:, :)Matlab帮助系统q 联机帮助help 显示指定命令的简短使用说明例: help eig help help q 详细使用帮助doc 以网页形式 显示指定命令的帮助页例: doc eig q 其它相关命令helpdesk、 helpwin、 moreMatlab 查找命令q look
10、for 按指定的关键词查询与之相关的命令例: lookfor inverse q which 显示指定函数所在的目录例: which eig q 变量命名原则Matlab 变量u 以 字母开头u 后面可以跟 字母、数字 和 下划线u 长度 不超过 63 个字符 ( 6.5 版本以前为 19 个 )u 变量名 区分字母的 大小 写q Matlab 语句的通常形式变量 =表达式表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号 “=”左边的变量q 分号和续行符的作用Matlab 变量若不想在屏幕上输出结果,可以在语句最后加分号 如果语句很长,可用续行符 “” (三个点)续行续行符的前面
11、最好留一个空格例:q 变量的查询Matlab 变量who 显示工作空间中的所有变量whos 查看工作空间中变量的详细属性q 系统预定义变量Matlab 变量u pi 圆周率 ,其值为 imag(log(-1)u inf/Inf 无穷大 u nan/NaN Not-a-Number,一个不定值,如 0/0u eps 浮点 运算相对精度 q 特殊变量 ansu i/j 虚部单位,即应尽量避免给系统预定义变量重新赋值!q 数与算术表达式Matlab 数值运算u Matlab 中的数默认是 双精度实数 ,表示方法 同 C 语言3, -9, 0.4, 1.603e-12, 3.23e+20u 浮点运算的
12、 相对误差为 epsu 浮点数表示范围为 : 10-308 10308u 复数的输入 z=3+4i (4 与 i 之间不能有空格 ) z=3+4*iq 数学运算符u + 加法Matlab 数值运算u - 减法u * 乘法u / 和 除法(右除和左除)u 幂运算q 输出格式Matlab 的输出u Matlab 以双精度执行所有的运算,运算结果可以 在屏幕上输出 ,同时 赋给指定变量; 若无指定变量,则系统会自动将结果赋给变量 “ans” u Matlab 中数的输出格式可以通过 format 命令指定format 只改变变量的输出格式,但不会影响变量的值 !各种 format 格式格式 解 释
13、例format 短格式(缺省 显 示格式),同 short 3.1416format short 短格式(缺省 显 示格式),只 显 示 5位 3.1416format long 长 格式,双精度数 15位, 单 精度数 7位 3.14159265358979format short e 短格式 e方式(科学 计 数格式 ) 3.1416e+000format long e 长 格式 e方式 3.141592653589793e+000format short g 短格式 g方式 3.1416format long g 长 格式 g方式 3.14159265358979format compa
14、ct 压缩 格式format loose 自由格式format + / format bank / format rat / format hex (详 情 查 看 联 机帮助 )变量的存储q 存储当前工作空间中的变量u save 将所有变量存入文件 matlab.matu save mydata 将所有变量存入 指定文件 mydata.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 清除指定的变量几个小技巧q Matlab 的命令记忆功能: 上下箭头键q 命令补全功能: Tab 键 可以先输入命令的前几个字符,再按上下键缩小搜索范围 q 用 Esc 键 删除命令行