Retourner les valeurs d'un vecteur en fonction du weekend et jour semaine
Bonjour à Tous,
Petit soucis sur Matlab, si quelqu'un peu m'aider ce serait super !!! J'ai une matrice 2xn. Dans le première colonne j'ai des dates (en datenum) et dans la seconde colonne des prix sur une période (3 mois par exemple). Les dates représentent des relevés de prix chaque jour à chaque heure (soit 24 prix par jours). Je souhaiterai calculer :
-la moyenne des prix (sur 3 mois) entre 8h du matin et 20h pour les jours de la semaine
- la moyenne des prix (sur 3 mois) entre 8h du matin et 20h pour les weekend
-la moyenne des prix (sur 3 mois) de 20h à 8h du matin pour les jours de la semaine
-la moyenne des prix (sur 3 mois) de 20h à 8h du matin les weekend
J'ai donc besoin de 4 valeurs en sortie.
J'ai commencé à faire une petite fonction sur matlab via weekday mais je n'arrive pas à ce qu'il faut.
Merci de votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
function[Y]=RepereJour(Date_Prix)
%Date_Prix est ma matrice de date (colonel) et de prix(colone2)
B=Date_Prix(:,1);
C=weekday(B);
if C==1 && C==7 % pour les weekends
D=Date_Prix(:,2);
Off_Peak_Jour=D(1:8);
Off_Peak_Nuit=D(21:24);
Off_Peak=[Off_Peak_Jour;Off_Peak_Nuit];
Peak=D(9:21);
Moy_Off_Peak=mean(Off_Peak);
Moy_Peak=mean(Peak);
Y1=[Moy_Off_Peak;Moy_Peak];
else
D=Date_Prix(:,2);
Off_Peak_Jour=D(1:8);
Off_Peak_Nuit=D(21:24);
Off_Peak=[Off_Peak_Jour;Off_Peak_Nuit];
Peak=D(9:21);
Moy_Off_Peak=mean(Off_Peak);
Moy_Peak=mean(Peak);
Y2=[Moy_Off_Peak;Moy_Peak];
end
Y=[Y1 Y2];
end |