MATLAB Answers

0

inverse of a subset of a matrix

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.

  0 Comments

Sign in to comment.

Tags

1 Answer

Answer by Sahithi Kanumarlapudi on 25 Jul 2019
 Accepted Answer

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;
end

  1 Comment

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.