MATLAB Answers

matrix contain index track

Hi, all.
Is it possible to put a matrix with a index array in matlab
like and after some operations, I would like to have
which is a incresing matrix.
Thank you so much

  댓글 수: 0

로그인 to comment.

답변 수: 2

thoughtGarden 님의 답변 10 Oct 2019
 채택된 답변

The only way I'm aware of you have arrays within another indexed structure is to use cells. I'm not sure exactly what you are trying to do, but something like this should get you started:
I{1,1} = [1,3];
I{2,1} = [2,3];
I{1,2} = [1,4];
I{2,2} = [2,4];
This builds your initial cell array. Do what you want after that. Note that when using cells, the individual arrays are not linked by any means, so they can be different sizes and contain completely different data. You will have to control how each array grows and changes.

  댓글 수: 2

Thank you for the answer.
I think cell is the only choice for me if I have a unfixed matrix operation.
If you found this answer to be correct, please accept it. Otherwise, please add aditional comments so that it may be improved.

로그인 to comment.

I = [1, 3, 1, 4;
2, 3, 2, 4];
% Then operate away...
But it is very unclear if that is what you really want. Does your grouping in the matrixes indicate that you have some meaning with (1,3) (1,4) (2,3) and (2,4) as pairs of indices? If so you might want to make the matrix a 3-D array:
I(:,:,2) = [3,4;
I(:,:,1) = [1,1;
2 2];
Then you could potentially grow that array in in the third dimension as you go along - which you seem to indicate with your second array I where you have the elements grouped in triplets?
If you need to go completely arbitrary with varying length of index-lists, cell-arrays might give you a solution:
I{1,1} = [1,3];
I{1,2} = [1,4];
I{2,1} = [2,3];
I{2,2} = [1 4 3 576 1]; % For example

  댓글 수: 1

Thank you so much and I will consider the method of cell array.

로그인 to comment.

Translated by