Retrieving Arrays
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Suppose I have 4 cell arrays with 4 matrices in each cell array;
A{1}=[1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4; 4 8 12 16]
A{2}=[2 3 4 5; 2 3 4 5; 2 3 4 5; 2 3 4 5; 8 12 16 25]
A{3}=[3 4 5 6; 3 4 5 6; 3 4 5 6; 3 4 5 6; 12 16 25 24]
A{4}=[4 5 6 7; 4 5 6 7; 4 5 6 7; 4 5 6 7; 16 20 24 28]
I would like to retrieve 2 (of the best) cells according to the content of the matrices in [5,4] (notice that they're the summation of the elements above them). Let's just say I want to retrieve the matrices whose value of the [5,4] is closer to 0, it means that I will have A{1} and A{2} as my result.
May I know how to get about this?
2 comentarios
Fangjun Jiang
el 29 de Oct. de 2011
Is the matrix in each cell always the same size? The last element of A{2} should be 20. It shouldn't matter but your expect result will be different.
Respuesta aceptada
Fangjun Jiang
el 29 de Oct. de 2011
A{1}=[1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4; 4 8 12 16];
A{2}=[2 3 4 5; 2 3 4 5; 2 3 4 5; 2 3 4 5; 8 12 16 25];
A{3}=[3 4 5 6; 3 4 5 6; 3 4 5 6; 3 4 5 6; 12 16 25 24];
A{4}=[4 5 6 7; 4 5 6 7; 4 5 6 7; 4 5 6 7; 16 20 24 28];
B=cell2mat(A);
[m,n]=size(A{1});
b=B(m,n*(1:n));
[b,ind]=sort(abs(b));
ind=ind(1:2);
SelectA=A(ind);
celldisp(SelectA);
3 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!