Combining Vector in a matrix
2 views (last 30 days)
Show older comments
I want to create a matrix that has first row as month second as date and the third as day
So far I am successful in creating three vectors and now I want to merge them in a matrix
function A=Jume2015
month = repmat('June', 30, 1);
date=[1:30];
d = {'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'};
dy = (d(mod(0:29, 7) + 1));
They should be merged in manner that I should get an output like this
>> m(11,:)
ans =
'June' [11] 'Thu'
Please help me.
If there are some errors in English please avoid them as English is a second language for me
0 Comments
Accepted Answer
Jos (10584)
on 26 May 2015
A cell array is very useful when you want to combine strings and numerical values into a single matrix. Let's build one:
MonthName = 'June' ;
DayNames = {'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'};
Ndays = 30 ;
M = cell(Ndays,3) ; % create a place holder
M(:,1) = {MonthName} % fill the first two with the same string
M(:,2) = num2cell(1:Ndays) % convert numbers to a cell array
M(:,3) = DayNames(1+mod(0:Ndays-1,7)) % math trick to index into DayNames
0 Comments
More Answers (1)
Walter Roberson
on 26 May 2015
function A=Jume2015
month = repmat('June', 30, 1);
date=[1:30];
d = {'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'};
dy = (d(mod(0:29, 7) + 1));
A = [cellstr(month),num2cell(date(:)),dy(:)];
See Also
Categories
Find more on Platform and License 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!