Converting cell in double
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Max1234
el 2 de En. de 2023
Hey Guys,
i have a 8942x1 cell and want to convert it into a 8942x1 double ? The final product should be look likes this:
[] 0
1 1
[] => 0
[] 0
[] 0
... ...
Thank you very much for your help!
Attached my file:
0 comentarios
Respuesta aceptada
Star Strider
el 2 de En. de 2023
Editada: Star Strider
el 2 de En. de 2023
Try something like this —
LD = load(websave('ids','https://www.mathworks.com/matlabcentral/answers/uploaded_files/1249257/ids.mat'));
ids = LD.ids
idsd = cell2mat(ids)
idsmt = cellfun(@isempty,ids, 'Unif',0); % Detect Empty Cells
ids(cell2mat(idsmt)) = {0}; % Fill Missing Values With '0'
idsd = cell2mat(ids)
EDIT — Corrected typographical errors.
.
2 comentarios
Más respuestas (1)
Stephen23
el 2 de En. de 2023
Editada: Stephen23
el 3 de En. de 2023
Simpler and more efficient:
S = load('ids.mat');
ids = S.ids
Method one: robust indexing:
X = cellfun(@isscalar,ids);
V = zeros(size(ids));
V(X) = [ids{X}]
Method two: VERTCAT():
ids(~cellfun(@isscalar,ids)) = {0};
V = vertcat(ids{:})
0 comentarios
Ver también
Categorías
Más información sobre Data Types 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!