How to add a matrix data to cell array?
23 views (last 30 days)
Show older comments
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 Comments
KALYAN ACHARJYA
on 1 Nov 2019
var1 = {'a' 'b' 'c'}
var2 = [1 2 3]';
What result you are expecting? Result=???
Answers (2)
Guillaume
on 1 Nov 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
the cyclist
on 1 Nov 2019
Edited: the cyclist
on 1 Nov 2019
var1 = {'a' 'b' 'c'};
var2 = [1 2 3]';
var1(2:4,2) = num2cell(var2)
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!