I have this code creating a list of months, however the output is on the last month, Dec. Is it possible to create a matrix of the individual month in order to incorporate into another code?

3 vues (au cours des 30 derniers jours)
ii = 1; %counter
% creating a list of months
while ii<=12
t = datetime(2016,ii,01):calweeks(5):datetime(2016,ii+1,01);
m(ii) = (month (t,'shortname'));
ii = ii+1;
end

Réponses (2)

Nikhil Vyas
Nikhil Vyas le 25 Avr 2016
I'm not sure about what output you require from this code so I'm assume that you just want a cell array with month values.
It's considered good to avoid using loops in MATLAB. Thus, the code you've written is generally considered inefficient. I have made the modifications to get the output that I assume you want.
temp = datetime(2016,01,01):calmonths(1):datetime(2016,12,31)
month_cell_array = month(x, 'name');
month_cell_array now contains the names of the months.
In case you expected some other output, let me know. :)

tpn
tpn le 4 Oct 2022
Modifié(e) : tpn le 4 Oct 2022
string(month(datetime(1,1:12,1),'shortname'))
ans = 1×12 string array
"Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
This should work well

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by