簡體   English   中英

迭代字符串中的數字 (Matlab)

[英]Iterating numbers within a string (Matlab)

在 Matlab 中,我試圖實現以下目標:

我需要提供一個結束日期,我想以以下格式按季度向前迭代:'1970q1' 為此我做了一個循環。

for yy=1970:1971
    for jj=1:4
        fprintf('''%dq%d''',(yy),(jj))        
    end
end

但是,當我設置 enddate=fprintf

for yy=1970:1971
    for jj=1:4
        enddate=fprintf('''%dq%d''',(yy),(jj))        
    end
end

在循環中,它不會像 fprintf output 那樣存儲結束日期,而是存儲其他內容。 結束日期的存儲方式是:enddate='1970q1'

您應該使用sprintf function 來創建字符串,而不是將文本寫入文件的fprintf

在你的情況下,如果你想保存所有的結束日期值,你應該將它保存在一個向量中:

enddate = [];
for yy=1970:1971
    for jj=1:4
        enddate=[enddate sprintf('''%dq%d''',(yy),(jj))];      
    end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM