How to access the minor of a matrix.

If I have an n x n matrix, is there a way to access a smaller part of the matrix (thus yielding a smaller matrix) with arbitrary size? For instance, I have a randomly generated 32x32 matrix and I would like to access the 16x16 block in the lower right. I suppose I could simply access the entries I want but that seems inefficient, particularly as my matrix sizes increase.

3 Comments

What is the difference between this:
is there a way to access a smaller part of the matrix (thus yielding a smaller matrix) with arbitrary size
and accessing the entries:
I suppose I could simply access the entries I want but that seems inefficient, particularly as my matrix sizes increase.
What exactly seems inefficient?
There isn't a difference. I can construct the minor by accessing the entries. I was wondering if I could simply specify the minor I want and MATLAB could create it.

Sign in to comment.

 Accepted Answer

big = randn(1000,1000,4);
small = big(n:n+m,o:o+p,q:q+r);
small is an m+1 x p+1 x r+1 matrix, which was taken starting at (n,o,q) of the big one...
It works on whatever number of dimensions you need.

1 Comment

@Hayashi
This doesn't seem different from "accessing the entries". The expression
small = big(n:n+m,o:o+p,q:q+r);
does access entries from "big".

Sign in to comment.

More Answers (0)

Categories

Asked:

on 5 Jun 2013

Community Treasure Hunt

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

Start Hunting!