MATLAB基实验一及求解.docVIP

  • 31
  • 0
  • 约8.88千字
  • 约 8页
  • 2017-03-09 发布于贵州
  • 举报
MATLAB基实验一及求解

实验一 Matlab矩阵的创建和操作 实验内容: 1、 (1)在 MATLAB 中用直接输入法建立如下两个矩阵 然后将矩阵A改为3行3列的矩阵。 分析:考查知识点——矩阵的创建、运算和操作。注意数组运算和矩阵元素的区别。 解: A [1 3 5;2 4 6]%直接法创建矩阵A B [1 3 5;2 4 6; 7 8 9]%直接法创建矩阵B B 1 3 5 2 4 6 7 8 9 A 3,3 4 A 3,: [1 2 3]%通过全下标访问矩阵的第三行并给其赋值将其改为3X3 (2)分别对 1 产生的两个矩阵作加、减、乘和除(左除,右除)运算,同时运用数组运算法则进行运算,比较二者的计算结果有何异同。 解: A+B A-B A*B %矩阵乘法 A.*B %数组乘法 A/B %矩阵右除 A./B %数组右除 A\B %矩阵左除 A.\B %数组左除 (3)对题( 1)中的矩阵 B 求秩、行列式的值、条件数、平方根及对数。 rank B %求秩 det B %行列式的值 cond B %条件数 sqrt B %数组平方根——对B的每一个元素求平方 sqrtm B %矩阵平方根,等价于B^ 1/2 log B %数组自然对数 2、将如下矩阵 A 进行转置和求逆。 分析:考查知识点——reshape函数、矩阵的转置和求逆 A reshape -4:4,3,3 A [-4 -1 2;-3 0 3;-2 1 4] A inv A det A 3、在 MATLAB 环境下,用下面三条指令创建矩阵 C,看输出怎样的结果。 分析:考查知识点——复数矩阵的创建 a 2.7358; b 33/79; C [1,2*a+i*b,b*sqrt a ;sin pi/4 ,a+5*b,3.5+i] 4、(提示:用冒号表达式及linspace 函数) 在区间上以0.01为步长创建行向量; 分析:已知初值、终值、步长,要创建行向量,应用冒号表达式,其语法规则为:,e1——初始值,e2——步长,e3——终值 则我们该问题的矩阵创建语句应为: x1 0:0.1:2*pi; 在区间上等间隔的采50个数据,如何创建? 分析:已知初值、终值、向量的长度,要创建行向量,应用冒号表达式,其语法规则为:linspace x1,xn,n ,x1——初始值,xn——终值,n——向量的长度,缺省时为100 则我们该问题的矩阵创建语句应为: x2 linspace 0,2*pi,50 ; 将上面两个创建的行向量倒序排列 分析:我们知道实现矩阵的逆序排列,我们可通过逆序访问矩阵来实现.而矩阵的访问有3中方式:单下标、全下标及逻辑1标识,必须熟练掌握。对与向量的访问,一般采用单下标访问。 则要得到一个向量的逆序排列则需要先访问向量的最后一个元素,然后依次向前访问。 则我们该问题的矩阵创建语句应为: x11 x1 end:-1:1 ;%x1的倒序排列 x21 x2 end:-1:1 ;%x2的倒序排列 5、a 列出2×2阶的单位矩阵I, 4×4阶魔方矩阵(magic)M和4×2阶的全1矩阵A,全0矩阵B 分析:我们需要创建的是一些特殊的函数,所以应该采用调用matlab提供的函数来创建矩阵 则我们的操作(即要编写的源程序)为: I eye 2 %创建2X2的单位矩阵 M magic 4 A ones 4,2 B zeros 4,2 b 将这些矩阵拼接为6×6阶的矩阵C: 分析:C的矩阵元素是由我们已定义的矩阵,则它的创建可通过由小矩阵来创建大矩阵这种方法。但必须满足同行的元素其行的阶数必须是相同的,同列的元素其列的阶数必须是相同的。 则矩阵C的创建语句应为: C [I A;B M] 求出C的第2,4,6行,组成3×6阶的矩阵C1,及第2,4,6列,组成6×3阶的矩阵C2 分析:求出C的第2,4,6行也就是要访问矩阵的第2,4,6行,所有列,可通过全下标访问来实现,可知其行下标应为[2 4 6],列下标为冒号(:),表示整列。矩阵C2的创建方法同C1,只不过其行下标应为冒号(:),表示整行,其列下标应为[2 4 6] 则矩阵C1、C2的创建语句应如下所示: C1 C [2 4 6],: C2 C :,[2 4 6] 求D C1C2及D1 C2C1 分析:要求解的是矩阵乘法的问题,所用运算符为* 则矩阵D、D1的创建语句应如下所示: D C1*C2 D1 C2*C1 求 分析:这是一个要求方阵的逆矩阵和其行列式值得问题,可通过调用matlab的函数来实现, inv(A)——求已经定义的

文档评论(0)

1亿VIP精品文档

相关文档