MATLAB简介及矩阵(第二次课)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.3 列阵
列阵(array)储存多维数组; 列阵 储存多维数组; 储存多维数组
1、结构 、 A1,1 A1,2 A1,3 A1,1 A1,2 A1,3 A1,1 A2,1 A2,2 A2,3 A1,1 A1,2 A A A2,1 1,2 2,2 1,3 2,3 AA AA 3,2 A2,1 A3,1 A2,3 3,3 A2,1 A2,2 A A3,1 2,2 3,2 A3,3 A A3,1 A3,2 A3,3 A3,1 A3,2 A1,1 A1,2 A1,3 A1,1 A A A A 2,2 A1,3 A2,1 1,2A1,3 1,3 1,2 A1,3 A1,1 A1,2 A1,1 A 2,3 A2,1 A2,2 A2,3 3,2 A2,3 A2,2 A2,1 A3,3 A2,1 A3,1 AA2,3 A2,2 A2,3 A3,1 A3,2 A3,3 A3,3 A3,1 A3,2 AA3,3 A3,2 A3,3 3,1
约定:Dim维 : 1 约定: 维
例:建立一个带参数 的x 的函数 ff=cos2x2+θ 建立一个带参数θ的 并想得到x= 时的函数值。 并想得到 =3,θ=2.1时的函数值。 = 时的函数值
>> ff=inline('cos(x^2)^2+theta','x','theta') >> ff(3,2.1)
欢迎学习
微机应用软件
1.2.2 矩阵
3、修改矩阵 、 ①合并
用一些小矩阵建造大矩阵 >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9
>> B=[A A+10;A+20 A+30] B= 1 2 3 11 12 13 4 5 6 14 15 16 7 8 9 17 18 19 21 22 23 31 32 33 24 25 26 34 35 36 27 28 29 37 38 39 可以用一个指标的表达式提取、 可以用一个指标的表达式提取、 删去一个元素或一个元素序列,剩 去一个元素或一个元素序列, 去一个元素或一个元素序列 余元素将构成一个列矢量. 余元素将构成一个列矢量 >> A(2:2:6)=[ ] >> A(2:2:6) A= ans = 1 7 6 4 3 9
>> x=[1 3 4;2 6 5;3 2 4]; >> a=2*x-2 a= 0 4 6 2 10 8 4 2 6 >> c=x/2 c= 0.5000 1.5000 2.0000 1.0000 3.0000 2.5000 1.5000 1.0000 2.0000
b:数组间的四则运算 数组间的四则运算 注意:1、参与运算的数组必须具有相同的维数。 注意: 、参与运算的数组必须具有相同的维数。 2、加、减不变,乘、除加点。 减不变, 除加点。 、 >> a=[1 3 4;2 6 5;3 2 4]; c:数组的幂运算 数组的幂运算(.^) 数组的幂运算
矩阵运算: 矩阵运算:
▲矩阵的加减运算与数组运算相同 乘除运算要满足矩阵运算法则. ▲乘除运算要满足矩阵运算法则 >> a=[1 2 3; 2 3 4]; >> b=[4 5; 1 3; 8 2]; >>c= a*b c= 30 17 43 27 ★注意:若A*B=C, 则B=A\C, A=C/B
例:
A =[16 3 2 5 10 11 9 6 7 4 15 14 怎样标识 11? 13 8 12 1]
A(2,3)或A(10) 或
②冒号算符
用法1:生成矢量、矩阵 用法 :生成矢量、
>> M=1:10 %步长为 的行矢量 步长为1的行矢量 步长为 M= 1 2 3 4 5 6 7 8 9 10
1、定义矩阵 、 方法1:直接输入法 方法2:用Matlab的指令函数生成 的指令函数生成 linspace 等间距的矢量
linspace(x1, x2, N) 产生N个等间距的点 在x1, x2产生 个等间距的点 产生
logspace 对数等分的行矢量
logspace(x1,x2,n) 生成从 x1到10x2包含 个数据的矢量 生成从10 包含n
1.2.2.2矩阵运算 矩阵运算
1.用指令对矩阵进行 操作 用指令对矩阵进行 标量函数 对矩阵中的每一个元素 如:sin(A) 矢量函数 对矩阵中的每一列元素 如:max(A) 求逆 矩阵函数 对矩阵中的全体元素 如:inv(A)求逆
>> B=[pi/6,pi/4;pi/3 pi/2]; >> sin(B) %标量函数 标量函数 ans = 0.5000 0.7071 0.8660 1.0000 >> A=[1 2 3; 4 5 6; 7 8 9]; >>max(A) %矢量函数 矢量函数 ans = 7 8 9 >> sum(A) %各列元素之和 ans = 12 15 18 >> prod(A) %各列元素之积 ans = 28 80 162 >> mean(A) %各列的平均值 ans = 4 5 6 >> B=[2 4 6; 1 5 9; 7 3 8] >> median(B) %各列的中位元素 ans = 2 4 8
②删除行或列
>> A(:,2)=[ ] %删去第 列 删去第2 A= 1 3 4 6 7 9 元素, 元素,则其不成为一个矩阵
注意:如果从矩阵中删去一个 注意:
?>> B1=B(1:2:end,:)
>> A(1,2)=[ ] ×
③逻辑下标
可以利用具有逻辑运算功能的指令过滤数据 >> x=[2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2] >> isfinite(x) %判断元素是否为有限数 判断元素是否为有限数 ans = 1 1 1 1 0 1 1 1 1 1 1 1 有限数取值, >> x=x(finite(x)) %有限数取值,非数或无穷数去掉 >> x=x(abs(x-mean(x))<=2*std(x)) %abs 绝对值 mean平均值 std 标准差 平均值
矩阵函数
>> G=[1 8 4;6 8 8;3 5 8]; >> [X,V]=eig(G) %求矩阵本征值与本征函数 X= -0.4681 -0.8920 -0.5321 -0.7173 0.4505 -0.4583 -0.5161 0.0378 0.7119 V= 17.6707 0 0 0 -3.2096 0 0 0 2.5390 %求矩阵行列式的值 >> det(G) ans = -144 %求矩阵的逆 >> inv(G) ans = -0.1667 0.3056 -0.2222 0.1667 0.0278 -0.1111 -0.0417 -0.1319 0.2778
Βιβλιοθήκη Baidu
2、标识矩阵元素 、 3、修改矩阵 、 4、矩阵操作的指令和算符 、
1.2.3 符号变量 1.2.4其它数据结构 其它数据结构
1.2.2 矩阵
2、标识矩阵元素 、 标识元素是指标识某个、 标识元素是指标识某个、某行或某列元素
①行标与列标 A1,1 A1,2 A1,3 A2,1 A2,2 A2,3 A3,1 A3,2 A3,3 A( i,j) B1 B4 B7 B2 B5 B8 B3 B6 B9 B(k) 注意:按列排列! 注意:按列排列! 注意: 注意 a.在查找 查找矩阵元素A( i,j)时,若 查找 i,j 超出了矩阵行数和列数,则显 示出错信息。 b.储存 储存元素A( i,j)时,若 i,j 超出 储存 了矩阵行数和列数,则矩阵自动 扩充并以零填补没有输入的元素。
A( i,j) A( i, j, k) 行列层
块
A( i, j, k) 块 行列层
表示? 例:A(3,2,1,2)表示? 表示
2、列阵的生成 、 指令1: cat(dim,A1,A2,A3,…)
沿着dim指定的方向将 指定的方向将A1,A2,A3,…组合成一个矩阵 沿着 指定的方向将 组合成一个矩阵
>> b=[2 3 1;4 1 2;4 5 3]; >> c=a.^2 >> c=a+b c= c= 1 9 16 3 6 5 4 36 25 6 7 7 9 4 16 7 7 7 >> c=a^2 %矩阵的幂运算 矩阵的幂运算 >> c=a.*b %注意点乘 注意点乘 c= c= 19 29 35 2 9 4 29 52 58 8 6 10 a./b=b.\a 19 29 38 12 10 12 >> c=a.^b %数组的幂运算为各对 >> c=a./b %注意点除 注意点除 应元素间的运算 c= c= 0.5000 1.0000 4.0000 1 27 4 0.5000 6.0000 2.5000 16 6 25 0.7500 0.4000 1.3333 81 32 64
2.矩阵之间的数学运算 矩阵之间的数学运算
矩阵运算算符: 矩阵运算算符:按矩阵运算法则定义 数组运算算符: 数组运算算符:按矩阵的对应元素进行运算
共轭转置 矩阵运 算算符 数组运 算算符 加 减 乘 右除 左除 幂
A’ A.’
+ +
- -
* .*
/ ./
\ .\
^ .^
数组运算
a:数组与标量的四则运算 数组与标量的四则运算
>> B=0:pi/4:pi %步长为 的行矢量 步长为π/4的行矢量 步长为 B= 0 0.7854 1.5708 2.3562 3.1416 >> M(10:-1:4) %M的第十个元素和第四个元素的倒排 的第十个元素和第四个元素的倒排 ans = 10 9 8 7 6 5 4
用法2: 用法 :表示矩阵的一部分或者一行或一列的全部元素 如:A( :, j) 矩阵 的第 列 A( i,: ) 矩阵 的第 行 矩阵A的第 的第j列 矩阵A的第 的第I行 A(1 :k, j) 矩阵 的第 列的前 个元素 矩阵A的第 列的前k个元素 的第j列的前 小知识: 小知识:end 表示最后一个元素 如:A(end, j) 矩阵 的第 列的最后一个元素 矩阵A的第 的第j列的最后一个元素 A( i,end ) 矩阵 的第 行的最后一个元素 ?A(end,:) 矩阵A的第 的第I行的最后一个元素
>> A=[15 7 5;12 3 14;7 10 11]; >> B=[6 7 3;11 14 13;4 10 9]; >> C=A*B C= 187 253 181 161 266 201 196 299 250 >> A\C ans = 6.0000 7.0000 3.0000 11.0000 14.0000 13.0000 4.0000 10.0000 9.0000 >> C/B ans = 15.0000 7.0000 5.0000 12.0000 3.0000 14.0000 7.0000 10.0000 11.0000
5、函数
①常用函数: abs 绝对值 sqrt平方根 exp指数 log自然对数 常用函数 平方根 指数 自然对数 sin正弦 cos余弦 tan正切 asin反正弦 sinh 双曲正弦 正弦 余弦 正切 反正弦 特殊函数: 特殊函数:bessel 贝塞尔函数 gamma 伽马函数 ②建造函数,三种方法: 建造函数,三种方法: inline指令建造在线函数 指令建造在线函数 用符号变量建造 用M文件建造 文件建造 ③inline指令 指令 函数名=inline( '函数内容 ,自变量列表) 函数内容' 自变量列表) 函数名 ( 函数内容
矩阵的转置
对于实矩阵用( 对于实矩阵用(’)符号或(.’)求转置结果是一 符号或( ) 样的;然而对于含复数的矩阵, 样的;然而对于含复数的矩阵,则(’)将同时对复数 进行共轭处理,而(.’)则只是将其行列重排 。 进行共轭处理, ) >> A=[1+3i 3+5i 2+4i 6+7i]; >> A' ans = 1.0000 - 3.0000i 2.0000 - 4.0000i 3.0000 - 5.0000i 6.0000 - 7.0000i >> A.' ans = 1.0000 + 3.0000i 2.0000 + 4.0000i 3.0000 + 5.0000i 6.0000 + 7.0000i