Bonjour,
Je réalise un code matlab pour transformé des coordonnées cartésiennes en coordonnées géographiques, mais mon code bloque, je l'ai initialisé mais il bloque sur le calcul de phi(i) et quand j'initialise avec i=1 il bloque sur N(i) la puissance -0.5.
Après 3 jours dessus...
Si vous avez une idée, merci
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 x = input ('Entrer la valeur de x = '); y = input ('Entrer la valeur de y = '); z = input ('Entrer la valeur de z = '); delta = input ('Entrer la valeur de la precision souhaitee, en m '); ecart=100; %Initialisation des donnees L = atan(x/y); phi = atan(((z/(sqrt(x^2+y^2)))*((1-e)^-1))) N = a*(1-e*(sin(phi))^2)^-0.5 h = ((sqrt(x^2+y^2))/cos(phi)) - N i=0; while ecart>delta i=i+1 phi(i) = atan((z/(sqrt(x^2+y^2))*((1-e)*(N(i-1)/(N(i-1)+h(i-1))))^-1)) ; N(i) = a*((1-e*(sin(phi)^2))^-0.5) ; h(i) = (sqrt(x^2+y^2))/cos(phi) - N; ecart= h(i+1)-h(i) end
Partager