Creating a submatrix from a matrix

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 个评论

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)?

请先登录,再进行评论。

 采纳的回答

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 个评论

thanks a lot brother.
Instead of specifying particular rows and columns can I specify range of rows and columms
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 个)

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 个评论

For example if the matrix is 5x5 and i want to creat a submatrix that is 2x4 it easy to just use how you showed. But i have to creat a submatrix that is 2x4 that has the first 2 rows and columns from the same position in the 5x5 but has the last two rows and columns from the middle position of the 5x5... How do i do that? Matix A is the 5x5 and i wanna get to A4 by using your method.
@Justin Paulan, experiment with the methods shown in the Answers in this thread.
wow that was helpful (it wasnt)
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.

请先登录,再进行评论。

类别

帮助中心File 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