How to access the minor of a matrix.

8 次查看(过去 30 天)
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 个评论
Jan
Jan 2013-6-5
What exactly seems inefficient?
Hayashi
Hayashi 2013-6-5
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.

请先登录,再进行评论。

采纳的回答

Iain
Iain 2013-6-5
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 个评论
Matt J
Matt J 2013-6-5
编辑:Matt J 2013-6-5
@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".

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by