当前位置:
文档之家› 第二讲 MATLAB基本运算
第二讲 MATLAB基本运算
2010-12-25 20
矩阵下标的用途
访问超出矩阵范围时,产生 Index exceeds matrix dimentions 存储超出矩阵范围时,矩阵自动调节 大小,将指定位置元素置入,其他没 指定数的位置默认为零。
2010-12-25
21
矩阵下标的用途
(2)矩阵连接 例:a=[1 2;3 4] b=[a a+5; a-5 zeros(size(a)] 将小矩阵嵌套入大矩阵,实现矩阵连接。
将矩阵按创建原则写入一个M文件, 在MATLAB的命令窗口或程序中直接执 行该M文件,即将矩阵调入工组空间。
2010-12-25
15
利用MATLAB函数创建矩阵 利用MATLAB函数创建矩阵 MATLAB
ones( m, n) - m行n列的1阵产生 zeros(m, n) -产生m行n列的全0阵 rand(m, n) -产生m行n列均匀分布全列的在 [0,1]区间的随机阵 randn(m, n) -产生m行n列的正态分布矩阵 eye(n) -产生n维单位阵
2010-12-25 18
2.2.3 矩阵的下标 .2.3
子矩阵提取A(v1, v2)
v1表示子矩阵包含的行标构成的向量 v2表示子矩阵包含的列标构成的向量 B1=A(:, [1, 3]) 为:时表示要提取所有行(列) B2=A(1:2:end, :) end表示最后一行(列) B3=A([3,2,1],[2,3,4]) 例: B4=A(:, end:-1:1) 提取A矩阵所有行、1,3列 提取A矩阵 3,2,1 行、2,3,4 列构成子矩阵 提取A矩阵全部奇数行,所有列 将A矩阵左右翻转
2010-12-25
13
直接输入法创建矩阵
例:创建矩阵
1 2 3 4 5 6 7 8 9
A=[1 2 3; 4 5 6; 7 8 9] A=[1,2,3; 4,5,6; 7,8,9] A=[1 2 3 456 7 8 9]
2010-12-25 14
通过M 通过M文件创建矩阵
2010-12-25
6
2.1.5 函数
MATLAB函数包括
(1) MATLAB内部函数 (2)各种工具箱中M文件提供的大量实用函数 (3)用户自己增加的函数;
函数调用语句
[返回变量列表]=函数名(输入变量列表)
函数名一般小写,要求与文件名一致 输入变量列表和返回变量列表均由若干变量名组成, 用逗号分开 可嵌套
2010-12-25
16
从外部数据文件读取
MATLAB可以处理很多数据格式,如: 记事本编写的数据文件.txt,MATLAB数据 文件.mat,Excel数据表.xls,图像文件, 声音文件等。 调入方式
2010-12-25
17
2.2.2 向量(数组)的生成 .2.2 向量(数组)
向量是仅有一行或一列的矩阵,所以矩阵的创 建方法适用于向量 a=m:p:n %以m为起点n为终点生成步 长为p的均匀等分向量 a=m:n %p=1时可省略 linspace(m,n,s) %生成始于m终于n的s个线 性等分点 linspace(m,n) % s=100时可省略
2010-12-25
32
代数运算总结
格式:A+B A-B A*B A.*B 格式 A/B A./B A\B A.\B A^B A.^B A’ A.’ 以上这些矩阵或数组的代数运算是MATLAB 的基本运算。
2010-12-25
33
2.3.2 矩阵的关系运算
关系运算符
>, >=, <, <=, ==, ~= 关系成立为1,不成立则为0 按照点运算规则定义,对两个矩阵的对应元 素进行比较,要求两个矩阵同型。
2010-12-25 4
2.1.3 数值
通过File/Preferences菜单可设置数值的 输出格式 复数的产生
c=a+i*b real(c) imag(c) %产生实部为a虚部为b的复数c %求复数c的实部 %求复数c的虚部
2010-12-25
5
2.1.4 运算符
数学运算符 关系运算符 逻辑运算符 位运算符 集合运算符
矩阵右除:XA = B,求 X MATLAB求解:X=B/A A不是方阵,最小二乘解
2010-12-25
28
数组除法
MATLAB表示 c = a. \ b = b. / a 其中 ci = bi / ai i = 1, 2, ⋯, n
i = 1, 2, ⋯, n 注意:相除的数组必须有相同的阶数
2010-12-25
2.3 矩阵基本运算
2.3.1 矩阵的代数运算 2.3.2 矩阵的关系运算 2.3.3 矩阵的逻辑运算
2010-12-25
24
2.3.1 矩阵的代数运算
矩阵表示 矩阵转置
数学表示
MATLAB 求解
2010-12-25
25
矩阵加减法
注意其一为标量的情形
矩阵乘法
数学表示
MATLAB 表示 注意相容性
2010-12-25
34
2.3.3 矩阵的逻辑运算
逻辑运算
与运算 或运算 非运算 与非运算
2010-12-25
35
逻辑运算运算法则 逻辑运算运算法则
①参与逻辑运算的可以是两个标量、两个同维矩 阵或参与逻辑运算的元素一个为标量,另一个 为矩阵。 ②在算术、关系、逻辑运算中,算术运算优先级 最高,关系运算次之,逻辑运算优先级最低。 注意:逻辑操作有相应的M文件:A&B等效于 and(A,B),A|B等效于or(A,B), ~A等效于 not(A)。
第二讲
MATLAB运算基础 MATLAB运算基础
2010-12-25
1
2.1 MATLAB语言的基本要素 语言的基本要素 2.2 矩阵 2.3 基本数学运算 2.4 基本数学函数 2.5 矩阵的特殊操作 2.6 多维矩阵
2010-12-25
2
2.1 MATLAB语言的基本要素
2.1.1 变量
MATLAB 语言的变量名规则
2010-12-25
10
2.2 矩 阵 .2
矩阵是MATLAB的核心,是最基本的数据 对象。MATLAB的大部分运算或命令都是在 矩阵运算的意义下执行的。 在MATLAB中,不需对矩阵的维数和类型 进行说明,MATLAB会根据用户所输入的内 容自动进行配置。
2010-12-25
11
2.2.1 矩阵的创建 .2.1
2010-12-25 36
逻辑函数
MATLAB还提供了许多测试用的逻辑函数。 1. all函数测定矩阵中是否全为非零元素 例如:a=[1 2;0 4]; b=all(a) b=0 1 c=all(all(a)) c=0
2010-12-25 37
逻辑函数
2. any函数测试出矩阵中是否有非零值 a=[1 2 0;4 0 0;0 5 0]; any(a) ans=1 1 0 这说明矩阵a中第1、2列包含有非零值, 而第3列不包含非零值。
2010-12-25
22
矩阵下标的用途
(3)矩阵行列删除 利用空矩阵可从矩阵中删除指定的行或列。 例:要删除第二行 b(2, :)=[ ] 要删除第二列 b(:,2) = [ ] 注意:将矩阵某元素附空值与赋零值完全不同 b(1,2) = [ ]出错! b(1,2) = 0 可以
2010-12-25 23
29
矩阵乘方
数学表示:A 为方阵,求 MATLAB 实现: a ^ p —— a 自乘p次幂
ቤተ መጻሕፍቲ ባይዱ
方阵
整数
对于p的其它值,计算将涉及特征值和特征向量, 如果p是矩阵,a是标量a^p使用特征值和特征向量 自乘到p次幂;如a,p都是矩阵,a^p则无意义。
2010-12-25 30
数组乘方
MATLAB表示 其中
2010-12-25
39
例子
例:a=zeros(3,3); a(3,3)=0.5; a(2,2)= -0.4; [i,j,v]=find(a) i=2 3 v= -0.4000 0.5000
2010-12-25
find(a) ans =[5,9]’
j=2 3
40
逻辑函数
4.exist函数检查变量、函数、文件是否存在 if exist(‘sg.dat’) load sg.dat else sg=zeros(30,2) end 当存在sg.dat时直接将数据读入到MATLAB 的sg变量中,不存在时将sg初始化成全零矩阵。
8
MATLAB语句 2.1.7 MATLAB语句
MATLAB语句(命令)有两种形式: (1) 变量=表达式 (2) 表达式 “表达式”由变量名、常数、函数和运 算符构成 第二种语句形式下,将表达式的值赋 MATLAB的永久变量ans。
2010-12-25
9
标点在语句中的用途
;--不在命令窗口中显示结果 %--用于注释语句 …--续行
2010-12-25 19
矩阵下标的用途
(1)利用下标修改矩阵元素,很方便 例:a(2,3) = 15; a(2,1:3) = [5 10 15]; 这时a的第二行变成5 10 15 a 5 15,其他行不变 备注:也可以采用矩阵元素的序号来引用矩 阵元素。矩阵元素按列编号,先第一列,再第二 列,依次类推。 以m×n矩阵A为例,矩阵元素A(i,j)的序号为 (j-1)*m+i。
创建矩阵的原则
①矩阵的元素必须在方括号“[ ]”中; ②矩阵的同行元素之间用空格或逗号“,”分隔; ③矩阵的行与行之间用分号“;”或回车符分隔; ④矩阵的尺寸不必预先定义; ⑤矩阵的元素可以是数值、变量、表达式或函数
2010-12-25
12
创建矩阵的四种方法