how to convert cell vector to char vector?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
hi, i would like to convert a cell vector which is:
1509
1803
'V20E'
1706
1706
'V21N'
1507
1927
to a char vector. then i need to "read" only the second and third character, for example from 1509 to 50.
0 comentarios
Respuestas (1)
DGM
el 6 de Dic. de 2022
Editada: DGM
el 6 de Dic. de 2022
If there's little control over what's in the cell array, here's one way. This can probably be simplified.
C = {1509; 1803; 'V20E'; 1706; 1706; 'V21N'; 1507; 1927};
charout = repmat(' ',[numel(C) 2]); % preallocate
for k = 1:numel(C)
if isnumeric(C{k}) && isscalar(C{k})
cc = num2str(C{k});
elseif ischar(C{k}) && isvector(C{k})
cc = C{k};
else
error('C(%d) is neither a scalar number nor a char vector',k)
end
charout(k,:) = cc(2:3);
end
charout
If the output needs to be a vector, just use reshape().
charout = reshape(charout.',[],1).'
0 comentarios
Ver también
Categorías
Más información sobre Logical 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!