Download presentation
Presentation is loading. Please wait.
1
数学软件 Matlab —— Matlab 基础
2
本讲主要内容 Matlab 介绍 Matlab 的基本用法
3
Matlab Matlab 介绍 Matrix Laboratory 矩阵实验室
4
Matlab 的发展 Matlab 的发展 1980年,Moler 教授用 Fortran 语言编写了集命令翻译、 科学计算于一身的一套交互式软件系统。 1984年,Moler 等成立了 The MathWorks 的公司,用 C 语言完全改写 Matlab,并推出第一个商业版。 到九十年代,在国际上 30 几个数学类科技应用软件中, Matlab 在数值计算方面独占鳌头。 目前,Matlab 已成为世界顶尖的数学应用软件就影响而言, 至今仍然没有一个别的计算软件可与 Matlab 匹敌。
5
Matlab 的发展 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每年更新两次 目前最新版为 R2014b (2014年10月发布)
6
Matlab 的功能与特点 Matlab 是一个交互式软件系统 Matlab 具有很强的数值计算功能
输入一条命令,立即就可以得到该命令的运行结果 Matlab 具有很强的数值计算功能 Matlab 以矩阵作为数据操作的基本单位, 但无需预先指定矩阵维数(动态定维) 按照 IEEE 的数值计算标准进行计算 提供十分丰富的数值计算函数,方便计算,提高效率 Matlab 命令与数学中的符号、公式非常接近, 可读性强,容易掌握
7
Matlab 的特点与功能 Matlab 的符号计算功能 Matlab 的绘图功能 Matlab 的编程功能
8
Matlab 的特点与功能 Matlab 丰富的工具箱(toolbox) Matlab 的 Simulink 动态仿真集成环境
根据专门领域中的特殊需要而设计的各种可选工具箱 Symbolic Math PDE Optimization Signal process Image Process Statistics Control System System Identification … … Matlab 的 Simulink 动态仿真集成环境 提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能
9
Matlab 的安装 获取 Matlab 软件 插入光盘,自动运行; 或点击安装程序 setup.exe 本课程必须安装的部件 Matlab
Symbolic Math Toolbox
10
本讲主要内容 Matlab 介绍 Matlab 的基本用法
11
Matlab 的基本用法 Matlab 的启动 Matlab 的退出 使用 Windows “开始” 菜单
在 Matlab 主窗口 File 菜单中选择 Exit Matlab 在 Matlab 命令窗口输入 exit 或 quit 单击 Matlab 主窗口的“关闭”按钮
12
Matlab 的工作界面 当前目录 命令窗口 当前工作空间 当前目录中的文件 命令行提示符 命令 历史记录
13
Matlab 变量 Matlab 语句的一般形式 变量 = 表达式 Matlab 变量的命名规则 表达式是用运算符将有关运算量连接起来的式子
计算表达式的结果,并赋给赋值号“=”左边的变量 Matlab 命令的执行:回车 Matlab 变量的命名规则 以字母开头 后面可以跟 字母、数字 和 下划线 长度一般不要超过 63 个字符 字母区分 大小 写
14
变量的查看 查看已定义的变量:who、whos 清除变量:clear who 显示当前工作空间中的所有变量 whos 显示所有变量的详细属性
清除工作空间中的所有变量 clear all 清除所有变量,包括全局变量、函数链接等 clear 变量名 清除指定的变量
15
系统预定义变量 系统预定义的变量 注:应尽量避免给系统预定义变量重新赋值! 特殊变量: ans pi
圆周率 ,其值为 imag(log(-1)) inf, Inf 无穷大 NaN, nan Not-a-Number,一个不定值,如 0/0 eps 浮点运算相对精度 i, j 虚部单位 注:应尽量避免给系统预定义变量重新赋值! 特殊变量: ans
16
Matlab 数值运算 Matlab 中的数与算术表达式 注:复数作为矩阵元素输入时,加号两边不要加空格!
默认是双精度实数,可用浮点数或科学计数法表示 例:3, 0.4, 1.603e-12 浮点运算的相对误差为 eps,大约为 2.210-16 浮点数表示范围为: ~ 10308 复数的输入 例:z=3+4i (4 与 i 之间不能有空格) 注:复数作为矩阵元素输入时,加号两边不要加空格!
17
Matlab 数值运算 算术运算 命令分隔符 分号的作用 续行符 + - * ^ 加,减,乘,幂 / \ 右除,左除
* ^ 加,减,乘,幂 / \ 右除,左除 命令分隔符 一行可以写多个语句,语句间用逗号或分号隔开 分号的作用 若不想在屏幕上输出结果,可以在语句最后加分号 续行符 如果语句很长,可用续行符 “…”(三个点)续行 续行符的前面最好留一个空格
18
矩阵的输入 Matlab 的操作对象 矩阵 定义矩阵:直接输入法 例: A=[1 2 3; 4 5 6; 7 8 9]
矩阵用方括号 “[ ]” 括起 矩阵同一行中的元素之间用 空格 或 逗号 分隔 矩阵行与行之间用 分号 分开,也可以用 回车 代替
19
矩阵元素赋值 矩阵元素可以是任何数值表达式 矩阵元素的单独赋值 例:x=[-1.3, sqrt(3), (1+2+3)*4/5]
例:x(5)=abs(x(1)) 动态定维功能:Matlab 会自动扩展向量的长度, 并将没有赋值的部分置零 例:x(5)=abs(x(6)) ??
20
矩阵元素赋值 大矩阵可以把小矩阵作为其元素 空矩阵 思考:如何在原矩阵的右边添加一列? 例: A=[A ; 11 12 13]
在原矩阵的下方加一行 思考:如何在原矩阵的右边添加一列? 空矩阵 例: B=[]
21
a:b:c 矩阵元素的引用 单个元素的引用 多个元素的引用:冒号的特殊用法 x(i) 向量 x 中的第 i 个元素 A(i,j)
例: x=A(2,3)+A(1,2) 多个元素的引用:冒号的特殊用法 产生一个由等差序列组成的向量 a 是首项,b 是公差,c 确定最后一项 若 b = 1,则 b 和其前面的冒号可以省略 a:b:c 例:x=1:2:5 y=1:2:6 例:x=2:1:5 y=2:5 例:x=3:1:0
22
矩阵元素的引用 多个元素的引用(续) x(i:j) 向量 x 中的第 i 到第 j 个元素 A(i:j,m:n)
例:y=x(1:3) 例:B=A(2:3,1:3) y=A(1,1:3) x(i:end) 向量 x 中的第 i 个到最后一个元素 A(i:end,m:n) A(i:j,m:end) 第 i 行到最后一行与 m 至 n 列(子矩阵) 第 m 列到最后一列与 i 至 j 行(子矩阵)
23
矩阵元素的引用 多个元素的引用(续) A(:,k) 矩阵的第 k 列 A(i,:) 矩阵的第 i 行 A(i:j,:)
A(:,m:n) 矩阵的第 m列到第 n 列 A(:,:) 整个矩阵 x(:) 取向量的所有元素,并按列向量方式输出 A(:) 将矩阵的所有元素按列排成一个列向量
24
特殊矩阵 特殊矩阵的生成 例: Matlab 提供了一些函数,用于生成一些常见的特殊矩阵 A=magic(3) B=ones(4)
a1=diag(A) a2=diag(A,1) a3=diag(A,-2) 注意 diag 的用法 a=[1,2,3,4] A1=diag(a) A2=diag(a,1) A3=diag(a,-2)
25
常见矩阵生成函数 zeros(m,n) zeros(n) 生成一个 m 行 n 列的零矩阵 m=n 时可简写为 zeros(n)
ones(m,n) ones(n) 生成一个 m 行 n 列的元素全为 1 的矩阵 m=n 时可简写为 ones(n) eye(m,n) eye(n) 生成一个主对角线全为 1 的 m 行 n 列矩阵 m=n 时可简写为 eye(n),即为 n 维单位矩阵 diag(X) diag(X,k) 若 X 是矩阵,则 diag(X) 为 X 的主对角线向量 若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵 tril(A) 提取一个矩阵的下三角部分 triu(A) 提取一个矩阵的上三角部分 rand(m,n) rand(n) 产生 0~1 间均匀分布的随机矩阵 m=n 时简写为 rand(n) randn(m,n) randn(n) 产生均值为0,方差为1的标准正态分布随机矩阵 m=n 时简写为 randn(n) 其它特殊矩阵生成函数:magic、hilb、pascal 等
26
矩阵基本运算 矩阵的普通乘法 矩阵的加减:对应分量进行运算 例: A=[1,2; 3,4]; B=[5,6; 7,8] C=A+B
D=B-A 参与加减运算的矩阵具有 相同的维数! 矩阵的普通乘法 例: A=[1,2,3; 4,5,6]; B= [2,1; 4,3] C=B*A 参与运算的矩阵须满足线性代数中矩阵相乘的原则!
27
矩阵基本运算 矩阵的除法:若 A 可逆方阵,则 B/A <==> A 的逆右乘 B <==> B*inv(A) 右除
A\B <==> A 的逆左乘 B <==> inv(A)*B 左除 矩阵的幂:若 A 是方阵,p 是正整数,则 A^p ==> A 的 p 次幂,即 p 个 A 相乘 矩阵的转置与共轭转置 A' 共轭转置 A.' 普通转置,不取共轭,点与单引号之间不能有空格 例: A = [1, 2-3i; 3, 1+4i] B = A' C = A.'
28
Matlab帮助系统 如何寻找帮助 help 显示指定命令的简短使用说明 doc 以网页形式显示完整的使用帮助 例: help size
doc size 查找命令 lookfor 按指定的关键词查询与之相关的命令 which 显示命令或函数所在的目录 其它相关命令 更多 Matlab 命令,参见课程主页 cd、dir、more
29
几个小技巧 Matlab 的命令记忆功能:上下箭头键 命令补全功能: Tab 键 用 Esc 键 删除命令行 命令 home、clc
可以先输入命令的前几个字符,再按上下键缩小搜索范围 命令补全功能: Tab 键 用 Esc 键 删除命令行 命令 home、clc
30
上机作业 教材P5的 5、 1 、 2 、 3题
Similar presentations