Creating a submatrix from a matrix

110 次查看(过去 30 天)
I want a code to create a matrix which consist of rows and columns of another matrix.
i.e. A (4X4) = [ 1 2 3 4; 5 6 7 8; 1 3 5 7; 2 4 6 8; ]
The submatrix B consist of the { 1, 2, 4 }rows of A and the { 2,3 }columns of A:
Β (3Χ2) = [ 2 3; 6 7; 4 6; ]
Any help could be useful.
Thanks in advance!
  1 个评论
said mohamed
said mohamed 2021-5-5
Using the matrix A = [5 1 11; 7 13 3; 8 5 2], the matrix B is constructed as B = [A A A; A A A; A A A]. Which of the following is the result of the operation K = L * J, made using the submatrices of matrix B, L = B (1: 3,3: 5) and J = B (2: 4,2: 3)?

请先登录,再进行评论。

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-12-4
编辑:Azzi Abdelmalek 2014-12-4
A= [ 1 2 3 4; 5 6 7 8; 1 3 5 7; 2 4 6 8; ]
B=A([1 2 4],[2 3])
  6 个评论
said mohamed
said mohamed 2021-5-5
Using the matrix A = [5 1 11; 7 13 3; 8 5 2], the matrix B is constructed as B = [A A A; A A A; A A A]. Which of the following is the result of the operation K = L * J, made using the submatrices of matrix B, L = B (1: 3,3: 5) and J = B (2: 4,2: 3)?

请先登录,再进行评论。

更多回答(1 个)

VANSHUL CHOUDHARY
VANSHUL CHOUDHARY 2021-8-20
A = rand(4,3);
% Get those elements of A that are located in rows 3 to 4 and
% column 2 to 3.
sub_matrix = A(3:4,2:3);
  4 个评论
Gabriele Bunkheila
Gabriele Bunkheila 2024-12-3
Please note:
  1. With matrices, the first dimesion is always the number of row, the second is the number of columns. So in this case A is 5x5 (size(A) would return [5,5]) and A4 is 4x2 (size(A4) would return [4,2]).
  2. A4 here seems composed of two "stacked" (or vertically concatenated) 2x2 sub-matrices of A
A possible way to obtain A4 from A is the following;
A = [1:5; 0.5*(-10:-6); 0.1*0:4; 10:-1:6; 2*(1:5)]
A = 5×5
1.0000 2.0000 3.0000 4.0000 5.0000 -5.0000 -4.5000 -4.0000 -3.5000 -3.0000 0 1.0000 2.0000 3.0000 4.0000 10.0000 9.0000 8.0000 7.0000 6.0000 2.0000 4.0000 6.0000 8.0000 10.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
rows1 = [1, 2];
cols1 = [1, 2];
rows2 = [3, 4];
cols2 = [3, 4];
A4 = [A(rows1, cols1); A(rows2, cols2)]
A4 = 4×2
1.0000 2.0000 -5.0000 -4.5000 2.0000 3.0000 8.0000 7.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
@Ioannis Aggelos I hope this helps.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by