Matlab计算与仿真技术 第六讲:交互式计算 王国利 http://human-robot.sysu.edu.cn 信息科学与技术学院 中山大学
王国利 信息科学与技术学院 中山大学 http://human-robot.sysu.edu.cn Matlab计算与仿真技术 第六讲: 交互式计算-IV
Matlab计算与仿真 第六讲提纲 ■综合联系 ■交互式计算I 中山火學
Matlab计算与仿真 ◼ 综合联系 ◼ 交互式计算-IV 第六讲提纲
Matlab计算与仿真 综合练习 综合练习三:基于函数eye创建矩阵 00 0-2 200 20 提示1:借助矩阵翻转操作 回忆:>> lookfor flip?? -提示2:矩阵的算术运算 回忆:>>A*c:%=[aijc] 中山火學
Matlab计算与仿真 ◼ 综合练习三: 基于函数eye创建矩阵 - 提示1: 借助矩阵翻转操作 回忆: >> lookfor flip??? - 提示2: 矩阵的算术运算 回忆: >> A*c; %=[aij*c] 综合练习 0 0 2 0 2 0 2 0 0 − − −
Matlab计算与仿真 综合练习(续) 提示3:矩阵左右翻转函数 回忆:> flipOrt(A) %列指标逆序矩阵 求解 >>Tem= flips(eye(3):%单位阵的左右翻转 >>(-2)Tem % ans 00-2 >> fliud(a) 0-20 200 中山火學
Matlab计算与仿真 综合练习(续) - 提示3: 矩阵左右翻转函数 回忆: >> fliplr(A); % 列指标逆序矩阵 - 求解 >> Tem=fliplr(eye(3)); % 单位阵的左右翻转 >> (-2)*Tem % ans = 0 0 -2 0 -2 0 -2 0 0 >> flipud(A)
Matlab计算与仿真 综合练习(续) ■综合练习四:求解下述线性方程组 2x1+x2-5x2+x1=8 3x2-6x=9 2x-x,+2. 5 -求解 x+4x2-7x3+6x4=0 >A=[21-51:1-30-6 02-12:14-76] >>b=[8:9:-5:0] >>X=b/A %o x=A\b 中山火學
Matlab计算与仿真 综合练习(续) ◼ 综合练习四: 求解下述线性方程组 - 求解: >> A=[2 1 -5 1; 1 -3 0 -6;… 0 2 -1 2; 1 4 -7 6]; >> b=[8; 9; -5; 0] >> x=b’/A % x=A\b 1 2 3 4 1 2 4 2 3 4 1 2 3 4 2 5 8 3 6 9 2 2 5 4 7 6 0 x x x x x x x x x x x x x x + − + = − − = − + = − + − + =
Matlab计算与仿真 交互式计算(续) 矩阵整形操作 拼接操作 >>cat(dim, A1, A2,: >> blkdiag(A1,A2…) 功能:按行或列拼接矩阵,或按对角块方式组织 特别地 >>cat(1,A,B):%==[A:B] >>cat(2,A,B):%==[AB 举例: > cat(2, A, B) >>A=[1:4]:B=[5:8] ans= > cat(1, A, B) 15 ans 26 1234 37 5678 48 中山火學
Matlab计算与仿真 交互式计算 (续) - 矩阵整形操作 拼接操作 >> cat(dim,A1,A2,…); >> blkdiag(A1,A2,…); 功能: 按行或列拼接矩阵, 或按对角块方式组织 特别地 >> cat(1,A,B); % == [A;B] >> cat(2,A,B); % == [A,B] 举例: >> cat(2,A’,B’) >> A=[1:4]; B=[5:8]; ans= >> cat(1,A,B) 1 5 ans = 2 6 1 2 3 4 3 7 5 6 7 8 4 8
Matlab计算与仿真 交互式计算(续) 矩阵整形操作 块提取操作:diag(对角元素)(下三角)ru上三角) 基本格式: >>diag(A):%返回对角向量 >>tri(A):%上三角元素清零 >>triu(A):%下三角元素清零 功能:提取对角块/下三角/上三角块 举例 iu(a) >>A=[1:3:4:6] ans >> diag(A) >> tril(A) 123 ans as 056 100 5 450 中山火學
Matlab计算与仿真 交互式计算 (续) - 矩阵整形操作 块提取操作: diag(对角元素)/tril(下三角)/triu(上三角) 基本格式: >> diag(A); % 返回对角向量 >> tril(A); % 上三角元素清零 >> triu(A); % 下三角元素清零 功能:提取对角块/下三角/上三角块 举例: >> triu(A) >> A=[1:3; 4:6]; ans = >> diag(A) >> tril(A) 1 2 3 ans = ans = 0 5 6 1 1 0 0 5 4 5 0
Matlab计算与仿真 交互式计算(续) ■数据类型使用注解 更多的常用数据类型 复数 字符串 多项式 数组 结构 胞组 对象 中山火學
Matlab计算与仿真 交互式计算 (续) ◼ 数据类型使用注解 - 更多的常用数据类型 复数 字符串 多项式 数组 结构 胞组 对象
Matlab计算与仿真 交互式计算(续) ■关于复数 虚数单位 内置变量:/(=sqr(-1) >i^2 ans 提示:应尽量避免利用其自定义变量 内置函数 > abs %幅值>>exp%指数 >>ange%复角>>imag%实部 >> cO nj%共扼>>real%虚部 中山火學
Matlab计算与仿真 交互式计算 (续) ◼ 关于复数 - 虚数单位 内置变量: i/j (=sqrt(-1)) >> i^2 ans = -1 提示: 应尽量避免利用其自定义变量 - 内置函数 >> abs % 幅值 >> exp % 指数 >> angle % 复角 >> imag % 实部 >> conj % 共扼 >> real % 虚部
Matlab计算与仿真 交互式计算(续) 使用实例 >>zeta=5: theta=pi/3:%幅值和复角 > z=zeta exp(i"theta) z 2.5000+4.3301i > abs > real(z) ans as 5.0000 2.5000 > angle(z) *108/pi >> imag(z) ans ans 60.0000 4.3301 中山火學
Matlab计算与仿真 交互式计算 (续) - 使用实例 >> zeta=5; theta=pi/3; % 幅值和复角 >> z=zeta*exp(i*theta) z = 2.5000+4.3301i >> abs(z) >> real(z) ans = ans = 5.0000 2.5000 >> angle(z)*108/pi >> imag(z) ans = ans = 60.0000 4.3301