How can I convert cell array to an arrary matrix?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Abdullah Türk
el 7 de En. de 2024
Hi,
I have a cell array and I want to ceovert it to an array matrix.
Can I convert this cell array as follows:
array_matrix = [6 11 20 12 15 19 12 4 18 16 3 13 1 14 7 8 5 10 9 17]
Is there a way to do this?
My cell matrix is attached.
1 comentario
Respuesta aceptada
Dyuman Joshi
el 7 de En. de 2024
Movida: Dyuman Joshi
el 7 de En. de 2024
in = load('cell_array.mat')
x = in.ans;
out = vertcat(x{:}).'
3 comentarios
Más respuestas (2)
Sulaymon Eshkabilov
el 7 de En. de 2024
This is how it can be attained:
A = load('cell_array.mat').ans;
for ii = 1:numel(A)
H = A{ii};
K{ii} = cat(1, H(:)');
end
array_matrix = (horzcat(K{:}))
Voss
el 7 de En. de 2024
Editada: Voss
el 7 de En. de 2024
@Abdullah Türk: If you know that all the cells of your cell array contain column vectors of the same class (as is the case in the variable ans in the posted mat file), then @Dyuman Joshi's approach will work:
x = load('cell_array.mat').ans;
out = vertcat(x{:}).'
Alternatively, if the cells can contain arrays of any shape and dimensionality (still of the same class), then you'll need to reshape them before doing the vertical concatenation (vertcat). For example:
x = load('cell_array.mat').ans;
x_col = cellfun(@(m)reshape(m,[],1),x,'UniformOutput',false);
out = vertcat(x_col{:}).'
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices 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!