matrix contain index track
2 views (last 30 days)
Show older comments
Mingcheng Tsai
on 10 Oct 2019
Commented: thoughtGarden
on 10 Oct 2019
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 Comments
Accepted Answer
thoughtGarden
on 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 Comments
thoughtGarden
on 10 Oct 2019
If you found this answer to be correct, please accept it. Otherwise, please add aditional comments so that it may be improved.
More Answers (1)
Bjorn Gustavsson
on 10 Oct 2019
Sure:
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;
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
HTH
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!