matlab:如何获得由 A 的第一、三行和第一、二列组成的子矩阵?

比如A=
1 2 3 4 5 6
1 1 1 1 1 1
2 2 2 2 2 2
1 2 3 4 5 5

我要的是1,3行与1,2列交叉所得的子矩阵,如上面很显然得到的是
1 2
2 2

从大矩阵中提取一个子矩阵,还有一种一般的方法。

A(I,J) 其中 I=[i1, i2, … , im], J=[ j1, j2, … , jm]
表示由 A 的第i1, i2, … , im 行和第j1, j2, … , jm 列组成的子矩阵。

例:A([1,3], [1,2]) 即A 的第一、三行和第一、二列组成的子矩阵

参考资料:我们的数学模型讲义

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-04
a(1:2:3,1:2)
ans =
[1] [2]
[2] [2]
前面表示的是第一行和第三行,而后面表示的是第一列和第二列,结果就是得到它们的交叉项。本回答被提问者采纳
第2个回答  2013-01-04
A; %原矩阵
B=[A(1,:);A(3,:)]; %B为A的一三行矩阵
C=[A(1,:);A(2,:)]; %C为A的一二行矩阵
比如
A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> B=[A(1,:);A(3,:)]
B =
1 2 3
7 8 9
>> C=[A(1,:);A(2,:)]
C =
1 2 3
4 5 6追问

你没看清楚题目,我要的是交叉子矩阵
比如A=
1 2 3 4 5 6
1 1 1 1 1 1
2 2 2 2 2 2
1 2 3 4 5 5

我要的是1,3行与1,2列交叉所得的子矩阵,如上面很显然得到的是
1 2
2 2

相似回答