How to label a class in an array in matlab

조회 수: 4 (최근 30일)
syd
syd 2014년 3월 15일
답변: Image Analyst 2014년 3월 15일
So I have this 600 x 6 matrix. This is formed by vertically concatenating 10 10x6 matrix.
I want to know if there is a way to label a class to identify each 10x6 matrix within this 600x6 matrix
For eg
BigMatrix is the 600x6 matrix A is a 10x6 matrix, B is another 10x6 matrix
How would I be able to identify A and B within this BigMatrix
Thanks
  댓글 수: 2
per isakson
per isakson 2014년 3월 15일
No, that is not possible with a numerical array, e.g. "600 x 6 matrix".
Image Analyst
Image Analyst 2014년 3월 15일
편집: Image Analyst 2014년 3월 15일
I think he made a mistake and meant a 100 row by 6 column matrix, not 600 by 6 because 10 times 10 is 100, not 600.

댓글을 달려면 로그인하십시오.

답변 (2개)

Mischa Kim
Mischa Kim 2014년 3월 15일
Syd, you could use a structure array:
BigMatrix.A = zeros(10,6);
BigMatrix.B = zeros(10,6);
...
  댓글 수: 2
syd
syd 2014년 3월 15일
편집: Walter Roberson 2014년 3월 15일
but what if i have certain values to be assigned
eg can i do
BigMatrix.A=BigMatrix(10,6)
BigMatrix.B=BigMatrix(20,6)
where (10,6) was the values from matrix A, (20,6) was the values from matrix B
Mischa Kim
Mischa Kim 2014년 3월 15일
You can assign any matrix, or any part of a matrix. E.g.,
HugeMatrix = [1 2 3; 4 5 6; ...
7 8 9; 10 11 12];
BigMatrix.A = HugeMatrix(1:2,:); % first two rows, all cols
BigMatrix.B = HugeMatrix(3:4,:); % rows 3 and 4, all cols
HugeMatrix would be your 600-by-6.

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2014년 3월 15일
Just do this:
labeledMatrix = [ones(10,6);
2*ones(10,6);
3*ones(10,6);
4*ones(10,6);
5*ones(10,6);
6*ones(10,6)]
Every element in that matrix is a number (1 through 6) that says what original array was used to make the array, at that location, by vertical stitching.

카테고리

Help CenterFile 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