How to add a matrix data to cell array?

25 visualizaciones (últimos 30 días)
Wes
Wes el 1 de Nov. de 2019
Comentada: Wes el 1 de Nov. de 2019
I have var1 in cell array and var2 in matrix.
var1 = {'a' 'b' 'c'}
var2 = ([1 2 3])'.
I like add var2(1) to var1{2,2}, var2(2) to var1{3,2} and var2(3) to var1{4,2}. How can I do that smartly, not one by one? Thank you!
  4 comentarios
KALYAN ACHARJYA
KALYAN ACHARJYA el 1 de Nov. de 2019
var1 = {'a' 'b' 'c'}
var2 = [1 2 3]';
What result you are expecting? Result=???
Wes
Wes el 1 de Nov. de 2019
My expected result is to have var1 as below.
Capture.PNG

Iniciar sesión para comentar.

Respuestas (2)

Guillaume
Guillaume el 1 de Nov. de 2019
Probably the best answer is don't use a cell array, use a table which is designed exactly for the purpose of having named columns:
>> var1 = {'a', 'b', 'c'}
>> var2 = magic(3);
>> t = array2table(var2, 'VariableNames', var1)
t =
3×3 table
a b c
_ _ _
8 1 6
3 5 7
4 9 2
>> t.a %access data in column 'a'
ans =
8
3
4
  1 comentario
Wes
Wes el 1 de Nov. de 2019
Unfortunately I have an old version that doesn't support array2table, so couldn't test your proposal. Anyway thank you!

Iniciar sesión para comentar.


the cyclist
the cyclist el 1 de Nov. de 2019
Editada: the cyclist el 1 de Nov. de 2019
var1 = {'a' 'b' 'c'};
var2 = [1 2 3]';
var1(2:4,2) = num2cell(var2)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by