MATLAB Answers

inverse of a subset of a matrix

7 views (last 30 days)
Hi everyone,
I have a matrix that has an n by p dimension and I would like to grab all the 3x3 submatrices and inverse them. also by the end of the operation, I would like to put them back as n by p matrix.
As an exemple 3x28 matrix.
Hope to hear from you.


Sign in to comment.

Accepted Answer

Sahithi Kanumarlapudi
Sahithi Kanumarlapudi on 25 Jul 2019
As 28 is not a multiple of 3 I am assuming that you are looking to invert 9 3x3 sub matrices I.e., till row 27
The following code can be used to obtain your required functionality where A is the matrix to be inverted
matLength = length(A);
r = rem(matLength,3);
mLength = matLength-r;
for i =1:3:mLength
x = A([i:i+2],:);
a = inv(x);
A([i:i+2],:) = a;

  1 Comment

zakaria azdad
zakaria azdad on 25 Jul 2019
Sorry, for late reply.
Your guess was correct.
I have found another way to do it. I just converted each cell to matrix , invert it and put it back to a new cell with I just converted But it a bit longer than your method :)
Thanks a lot

Sign in to comment.

More Answers (0)

Sign in to answer this question.