matlab课后习题与答案

在上述流程图a和b所示的算法中:

(1) 矩阵A第i行第j列的元素A(i,j)被复制到矩阵B中的哪个位置?

(2) A(i,j)后来又被复制到矩阵C中的哪个位置?

(3) 填补流程图b中的空缺。


正确答案:B(jn-i+I) (2) C(n-i+1n-j+1) (3) A(n-j+1i)
B(j,n-i+I) (2) C(n-i+1,n-j+1) (3) A(n-j+1,i) 解析:根据上述流程图中的算法,不难发现,矩阵A第i行第i列的元素A(i,j)被复制到B的第n-i+1列第j行,即B(j,n-i+1)。A(i,j)后来又被复制到矩阵C中的第n-i+1行第n-j+1列,即C(n-i+1,n-j+1)。流程图b中,循环开始后,应该是将A(n-j+1,i)赋给B(i,j)。


如下是一个稀疏矩阵的三元组法存储表示和相关的叙述正确的是

A.该稀疏矩阵有8列

B.该稀疏矩阵有7列

C.该稀疏矩阵有9个非0元素

D.该稀疏矩阵的第3行第6列的值为0


正确答案:B
解析:该稀疏矩阵有7列;稀疏矩阵有7个非0元素;该稀疏矩阵的第3行第6列的值为1。掌握广义表的定义和存储方式,多维数组的存储方式。


matlab中,表示()

A.矩阵A的逆右乘B

B.B矩阵A的逆左乘B

C.矩阵B的逆左乘A

D.矩阵B的逆右乘A


正确答案:B


设A为2×4矩阵,B为3×5矩阵,且乘积矩阵ACB^T有意义,则C^T为()矩阵。

A.4×5

B.5×4

C.3×2

D.2×3


正确答案:B


阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。

[说明]

本程序提供了三阶矩阵加、减及乘运算的功能。用户单击“生成操作数”按钮将随机生成两个矩阵(即操作数1和操作数2),再单击某一矩阵运算按钮后,程序将输出相应运算的结果。程序运行界面如下:

开发过程中,界面上从左至右三个文本框分别取名为Text1至Text3,“生成操作数”按钮名为 CmdNew,“+”、“-”和“*”构成按钮控件组,分别名为CmdOperate(0)、CmdOperate(1)和CmdOperate(2)。

已知n阶矩阵加、减法运算法则是对应位置的元素相加、减;n阶矩阵的乘法C=AB有公式:Cij=AilBij+AilBij+…+An1Bnj其中记号Xij表示矩阵X第i行第j列上的元素。程序使用的主要变量是三维数组matrix(3,3,3),其元素matrix(i,j,k)代表第i个矩阵j行k列上的元素,这里i,j,k均从0开始计数,第0、1、2个矩阵分别表示操作数1、操作数2和结果矩阵。

代码中用到的子过程及其功能说明如下:

(1) Sub newMatrices():随机产生矩阵运算的两个操作数;

(2) Sub printOut(txt As TextBox, i As Integcr):定义矩阵i向文本框txt的输出格式;

(3) Sub operate(operation As String):计算并输出矩阵运算结果。

[Visual Basic代码]

Dim matrix(3, 3, 3) As Integer

Sub newMatrices()

……… End Sub

Sub printOut(txt As TextBox, i As Integer)

……… End Sub

Sub operate(operation As String)

Dim i, j, k As Integer

For i = 0 To 2

For j = 0 To 2

(1)

Case"+": matrix(2, i, j) = matrix(0, i, j) + matrix(1, i, j)

Case"-": matrix(2, i, j) = matrix(0, i, j) - matrix(1, i, j)

Case"*"

matrix(2, i, j) = 0

For k = 0 To 2

matrix(2, i, j) = matrix(2, i, j) +(2)

Next

End Select

Next

Next

printOut (3)

End Sub

Private Sub CmdNew_Cliek() ’“生成操作数”按钮的单击事件响应代码

(4)

printout Text1,0

printout Text2,1

End Sub

Private Sub CmdOperale_Click(Index As Integer) ’矩阵运算按钮组的单击事件响应代码

operate CmdOperate(Index).(5)

End Sub


正确答案:(1) Select Case operation (2) matrix(0ik) * matrix (1kj) (3) Text32 (4) Call newMatrices或newMatrices (5) Caption
(1) Select Case operation (2) matrix(0,i,k) * matrix (1,k,j) (3) Text3,2 (4) Call newMatrices或newMatrices (5) Caption 解析:(1)此处是针对操作符operation的多分支选择结构;
(2)根据矩阵乘法公式,此处应累加matrix(0,i,k) * matrix(1,k,j),k=0,…,2的值;
(3)此处应向Text3中输出结果矩阵;
(4)此处应调用newMatrices子过程生成新的操作数,调用时可加关键字,也可不加;
(5)根据operate子过程对参数的要求,此处传递的参数应该是“+”、“-”或“*”,即各运算按钮Caption属性的值。


摘要:.习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。因此,矩阵是MATLAB最基本、最重要的数据对象。2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。(2)A./B和B.\A的值是否相等?答:相等。(3)A/B和B\A的值是否相等?答:不相等。(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。3.写出完成下列操作的命令。(1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。答:B=A(2:5,1:2:5);或B=A(2:5,[135])(2)删除矩阵A的第7号元素。答:A(7)=[](3)将矩阵A的每个元素值加30。答:A=A+30;(4)求矩阵A的大小和维数。答:size(A);ndims(A);(5)将向量t的0元素用机器零来代替。答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成3�4矩阵。答:reshape(x,3,4);(7)求一个字符串的ASCII码。答:abs(‘123’);或double(‘123’);(8)求一个ASCII码所对应的字符。答:char(49);4.下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;Word范文 .L3=A>3&A<7;L4=fin

已知一个无向图的邻接矩阵表示,计算第i个顶点的度的方法是______。

A、计算邻接矩阵中第i行的元素之和

B、计算邻接矩阵中第i列的元素之和

C、计算邻接矩阵中第i行的非零元个数

D、计算邻接矩阵中第i列的非零元个数


参考答案:ABCD


阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。

【说明】

在一个矩阵中,如果其零元素的个数远远多于其非零元素的个数时,称这样的矩阵为稀疏矩阵。稀疏矩阵通常采用三元组数组表示。每个非零元素用一个三元组来表示,即非零元素的行号、列号和它的值。然后按某种顺序将全部非零元素的三元组存于一个数组中。例如,对于以下二维数组:

int x[3][4]={{1,0,0,0},{0,5,0,0),{0,0,7,2}};

可用以下数组a来表示:

int a[][3]={{3,4,4},{0,0,1},{1,1,5),{2,2,7},{2,3,2}};

其中三元数组a的第1行元素的值分别存储稀疏矩阵×的行数、列数和非零元素的个数。

下面的流程图描述了稀疏矩阵转换的过程。

【流程图】


正确答案:(1)a[0][2]=W; (2)x[i][j]≠0; (3)a[k][2]=x[i][j]; (4)k++; (5)i++;
(1)a[0][2]=W; (2)x[i][j]≠0; (3)a[k][2]=x[i][j]; (4)k++; (5)i++; 解析:本题考查程序流程图及数组的操作。
根据题目的意思,本题的流程图是用来描述稀疏矩阵转换过程的。而三元数组d的第1行元素的值分别用来存储稀疏矩阵x的行数、列数和非零元素个数,在第(1)空位置处,前面已经分别存储了稀疏矩阵x的行数和列数,只差非零元素的个数没有存储进数组a。因此,此空应该填a[0][2]=W。
在第(2)空的前面有两条判断语句,我们可以看出它们是为了保证取到的元素是稀疏矩阵中的元素,再往下我们应该判断此元素是否是0,因此,此空应该填x[i][j]≠0。
根据程序流程图,如果第(2)空中的条件为真,即取到的元素不为0,那么我们应该将该元素存放到三元数组a中,第(3)空的前面两条语句已经分别用于存储了稀疏矩阵非0元素的行号和列号,那么接下来应该是保存其值。因此,此空的答案是 a[k][2]=x[i][j]。
由题目中对三元数组a的描述可以知道,三元数组a的每一行只存储3个元素。再看流程图,第(4)空的前面三条语句都表示向三元数组a中存储一个元素。因此,如果再要往数组中添加元素,就需要存放到另外一行。因此,第(4)空应该是将数组的行号加1,即 k++。
结合流程图中三个判断语句的结构和作用来分析,第(5)空应该是i++,它的作用是保证能取到稀疏矩阵中每一行的元素。


给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。

例如,有下列矩阵:

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

若k为2,程序执行结果为

3 4 5 1 2

3 4 5 1 2

3 4 5 1 2

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANKl.C中。

不得增行或删行,也不得更改程序的结构!


正确答案:(1)k (2)N-1 (3)temp
(1)k (2)N-1 (3)temp 解析:本题中函数fun的功能是将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边,即把每列元素循环左移k个位置。


给定程序中,函数fun的功能是建立一个NxN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:

1 1 1 1 1

1 2 2 2 1

1 2 3 2 1

l 2 2 2 1

1 1 1 1 1

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANKl.C中。

不得增行或删行,也不得更改程序的结构!


正确答案:(1)[N] (2)i (3)i+1
(1)[N] (2)i (3)i+1 解析:本题中函数fun的功能是按照指定的规律建立一个N×N的矩阵,可用循环来完成。


如下是一个稀疏矩阵的三元组法存储表示和相关的叙述:

行下标 列下标 值

1 2 6

2 4 7

2 1 4

3 2 6

4 4 1

5 2 1

5 3 6

Ⅰ. 该稀疏矩阵有5行

Ⅱ. 该稀疏矩阵有4列

Ⅲ.该稀疏矩阵有7个非0元素

这些叙述中哪个(些)是正确的是(36)。

A.只有Ⅰ

B.Ⅰ和Ⅱ

C.只有Ⅲ

D.Ⅰ、Ⅱ和Ⅲ


正确答案:C
解析:稀疏矩阵的三元组法存储只存储稀疏矩阵中不为。的元素的行下标、列下标以及元素的值,仅由稀疏矩阵的三元组法存储的矩阵相关信息,无法得知矩阵的行数和列数,但由题目可以得知矩阵至少有5行、4列

更多 “matlab课后习题与答案” 相关考题
考题 单选题已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。A 将邻接矩阵的第i行删除B 将邻接矩阵的第i行元素全部置为0C 将邻接矩阵的第i列删除D 将邻接矩阵的第i列元素全部置为0正确答案:D解析:暂无解析

考题 设A为3阶矩阵,将A的第2列加到第l列得矩阵曰,再将曰的第2行与第3行交换得A. P1p2 B.P-11 P2 C.P2P1 D.P2P一11答案:C解析:由于将A的第2列加到第l列得矩阵曰,

考题 单选题设A是3阶矩阵,矩阵A的第1行的2倍加到第2行,得矩阵B,则以下选项中成立的是()。A B的第1行的-2倍加到第2行得AB B的第1列的-2倍加到第2列得AC B的第2行的-2倍加到第1行得AD B的第2列的-2倍加到第1列得A正确答案:C解析:暂无解析

考题 二维图形变换使用了齐次坐标表示法,其变换矩阵是()。A、2×2矩阵 B、3×3矩阵 C、4×4矩阵 D、5×5矩阵正确答案:B

考题 单选题(2010)设A是3阶矩阵,矩阵A的第1行的2倍加到第2行,得矩阵B,则下列选项中成立的是:()A B的第1行的-2倍加到第2行得AB B的第1列的-2倍加到第2列得AC B的第2行的-2倍加到第1行得AD B的第2列的-2倍加到第1列得A正确答案:A解析:暂无解析

考题 设A是3阶矩阵,矩阵A的第1行的2倍加到第2行,得矩阵B,则以下选项中成立的是()。 A.B的第1行的-2倍加到第2行得A B.B的第1列的-2倍加到第2列得A C.B的第2行的-2倍加到第1行得A D.B的第2列的-2倍加到第1列得A答案:A解析:提示:B的第1行的-2倍加到第2行得矩阵A。@##

考题 设A是3阶矩阵,矩阵A的第1行的2倍加到第2行,得矩阵B,则下列选项中成立的是: A. B的第1行的一2倍加到第2行得A B. B的第1列的一2倍加到第2列得A C. B的第2行的一2倍加到第1行得A D. B的第2列的一2倍加到第1列得A 答案:A解析: 由题目给出的运算写出行列式,验证还原到原行列式时应用哪一种运算方法。

考题 设A是3阶矩阵,矩阵A的第1行的2倍加到第2行,得矩阵B,则下列选项中成立的是( )。A.B的第1行的-2倍加到第2行得A B.B的第1列的-2倍加到第2列得A C.B的第2行的-2倍加到第1行得A D.B的第2列的-2倍加到第1列得A答案:A解析:

考题 将10阶的上三角矩阵(非0元素分布在矩阵左上部)按照行优先顺序压缩存储到一维数组A中,则原矩阵中第4行第3列的非0元素在一维数组A中位于第()个元素位置。正确答案:30

考题 将10阶的下三角矩阵(非0元素分布在矩阵右下部)按照行优先顺序压缩存储到一维数组A中,则原矩阵中第3行第8列的非0元素在一维数组A中位于第()个元素位置。正确答案:4