I want to save the data in for loop but it only gives me the last data. How can I accumulate the data in row?
----------------------------
Month ={'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'};
m=[];
for year = 2000:2001
for month = 1:12
m=sprintf('%04d%s', year, Month{month});
end
end

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 2 月 21 日

1 投票

m{end+1}=sprintf('%04d%s', year, Month{month});

3 件のコメント

Bum
Bum 2013 年 2 月 21 日
Thanks!! Would you please explain me how it works? What is 'end' and {}...?
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 2 月 21 日
編集済み: Azzi Abdelmalek 2013 年 2 月 21 日
m is a cell array indicated by { }
help cell
if m=[ 1 2 5] then m(end)=5,
when you type m(end+1) it means m(3+1)
Bum
Bum 2013 年 2 月 21 日
Thanks. Then why does it accumulates the output?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by