How to add numeric values to cell array?

names = {'A' 'B' 'C' 'D' 'E'};
val = [0;1.5;0.5;0.5;1.5]
I want my output as folows
A 0
B 1.5
C 0.5
D 0.5
E 1.5

 Respuesta aceptada

Star Strider
Star Strider el 7 de Abr. de 2021
Try this:
names = {'A' 'B' 'C' 'D' 'E'};
val = [0;1.5;0.5;0.5;1.5];
C = {[names{:}].' val}
C1 = C{:,1}
C2 = C{:,2}
TC = table(C1,C2)
.

6 comentarios

Souarv De
Souarv De el 7 de Abr. de 2021
Thanks @Star Strider. Its solved my purpose.
Star Strider
Star Strider el 7 de Abr. de 2021
As always, my pleasure!
@Star Strider I found an a auxiliary problem with your code is that if names is replaced by as follows
names = {'A1' 'B1' 'C1' 'D1' 'E1'}
Then, the code encounters some errors. Please help.
names = {'A1';'B1';'C1';'D1';'E1'}; % note the orientation!
val = [0;1.5;0.5;0.5;1.5];
T = table(names,val)
T = 5×2 table
names val ______ ___ {'A1'} 0 {'B1'} 1.5 {'C1'} 0.5 {'D1'} 0.5 {'E1'} 1.5
Stephen — Thank you!
Another option is to replace them with string variables:
names = {"A1" "B1" "C1" "D1" "E1"};
.
Souarv De
Souarv De el 8 de Abr. de 2021
Editada: Souarv De el 8 de Abr. de 2021

Iniciar sesión para comentar.

Más respuestas (1)

David Hill
David Hill el 7 de Abr. de 2021
for k=1:length(names)
names{k}=[names{k},' ',num2str(val(k))];
end

1 comentario

Souarv De
Souarv De el 7 de Abr. de 2021
@David Hill It is ok but in your code the output becomes again a cell type and both values are merged together as individual enitity of cell.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Types en Centro de ayuda y File Exchange.

Productos

Versión

R2018a

Etiquetas

Preguntada:

el 7 de Abr. de 2021

Editada:

el 8 de Abr. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by