Bonjour
Je cherche à mettre en équation la trajectoire apparente du soleil pendant une journée.
Pour cela j'ai ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 clf; clear all; putenv('GNUTERM','x11'); jour = 100; heure = linspace(0,24,100); [declinaison, angleHoraire, hauteur, azimut] = Soleil(46, jour, heure); %figure(1); %plot(heure, hauteur); %figure(2); %plot(heure, azimut); figure(3); hold on; l = cos(hauteur); plot3(l.*cos(azimut), l.*sin(azimut), sin(hauteur)); xlabel('x'); ylabel('y'); zlabel('z'); [declinaison, angleHoraire, hauteur, azimut] = Soleil(46, jour, 12); plot3([0 0.5*cos(azimut)], [0 sin(azimut)], [0 0], 'r');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function [declinaison, angleHoraire, hauteur, azimut] = Soleil(latitude, jour, heure) latitude = latitude * pi/180; declinaison = declinaison(jour); angleHoraire = angleHoraire(heure); hauteur = asin( sin(latitude)*sin(declinaison) + cos(latitude)*cos(declinaison)*cos(angleHoraire)); azimut = asin( cos(declinaison)*sin(angleHoraire)./cos(hauteur) );
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function dec = declinaison(jour) sinDec = sin(23.45*pi/180)*sin(2*pi/365.25*(jour-81)); dec = 180/pi * asin(sinDec);J'obtient bien une ellipse incliné, mais elle me parait étrange.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function Ah = angleHoraire(tSV) Ah = pi*(tSV/12 - 1);
Pouvez-vous y jeter un coup d'œil et m'aider à trouver l'erreur ?
Merci et Bonne Année
Partager