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 ExchangePlatform 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