MATLAB cell to matrix
Mostrar comentarios más antiguos
I have 1 row and 106 columns. Each cell contains various numbers. Some cells contain 1 number, some contain 5, etc. The problem is this: If one number is present, it looks great. Some cells have more than one number. I would like for the second number to go in the second row, third number in third row, etc. I am not sure how to do this. I am guessing I need to make a zeros matrix or something but I am not sure
6 comentarios
Azzi Abdelmalek
el 13 de En. de 2014
If M={1 [7 8] 3 [ 1 5 6] 0 [1 5 8] 2 10 }
What is the expected result?
Benjamin Cowen
el 13 de En. de 2014
Azzi Abdelmalek
el 13 de En. de 2014
You can simply post the expected result, if really you know what you want
Benjamin Cowen
el 13 de En. de 2014
Benjamin Cowen
el 13 de En. de 2014
Benjamin Cowen
el 13 de En. de 2014
Respuesta aceptada
Más respuestas (1)
Matt J
el 13 de En. de 2014
Is this what you want?
>> C={5,[6 7 8], [9,10]};
>>cell2mat(C)
ans =
5 6 7 8 9 10
Or,
>> [C{:}]
ans =
5 6 7 8 9 10
6 comentarios
Benjamin Cowen
el 13 de En. de 2014
Matt J
el 13 de En. de 2014
C={5,[6 7 8], [9,10]};
M=max(cellfun('length',C));
result = cell2mat(cellfun(@(c) pad(c,M), C, 'uni',0)),
function c=pad(c,M)
c=c(:);
c(M+1,1)=0;
c(end)=[];
end
Benjamin Cowen
el 13 de En. de 2014
Benjamin Cowen
el 13 de En. de 2014
Matt J
el 13 de En. de 2014
Yes. That is one of your options.
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!