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

 채택된 답변

Jos (10584)
Jos (10584) 2015년 5월 26일

1 개 추천

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2015년 5월 26일

0 개 추천

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(:)];

댓글 수: 1

ammar ansari
ammar ansari 2015년 5월 26일
편집: ammar ansari 2015년 5월 26일
Thanks thats a little bit close to what I was searching for but still it store dy as 1*1 cell rather then a string 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Platform and License에 대해 자세히 알아보기

질문:

2015년 5월 26일

편집:

2015년 5월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by