problème if dans function matlab

problème if dans function matlab - Divers - Programmation

Marsh Posté le 09-03-2009 à 23:55:21    

Bonjour,  
j'ai une petit soucis sous matlab, j'ai fais une fonction qui renvoi 3 valeurs en fonction d'une. Et dans celle si j'ai mis 3 if. Mais ça ne marche pas du tout, ça me renvoi des valeurs completement fausses, et je vois pas ce qu'il y a de faux. Ce programme me parait tout a fait logique.
 
Apriori ça vient des if, mais je vois pas pourquoi ce style de fonction ne marcherais pas, c'est quand même la base si on veut faire quelque chose de propre.  
 

Code :
  1. function [ T,P,rho ] = atmosphere( z )
  2. R=287.058;
  3. if z <= 11000
  4.     T= 288,15 - 0.00649*z;
  5.     P= 101290*(T/288.08)^5.256;
  6. end
  7. if 11000< z <=25000
  8.     T=216.64;
  9.     P=22650*exp(1.73-0.000157*z);
  10. end
  11. if 25000< z <= 55000
  12.     T= 141.89+0.00299*z;
  13.     P=2.488*(T/216.6)^(-11.388);
  14. end
  15. rho=P/(R*T);


Message édité par bizounours94 le 09-03-2009 à 23:55:38
Reply

Marsh Posté le 09-03-2009 à 23:55:21   

Reply

Marsh Posté le 10-03-2009 à 10:42:35    

essaye sans les 2 premiers end.
 
met un ; derrière le dernier (3eme) end;
 
et remplace les 2 derniers if par des elseif.
 
c'est des vieux souvenirs de matlab...en tout cas je pense pas que ta syntaxe de if soit bonne.

Reply

Marsh Posté le 10-03-2009 à 16:24:25    

ah oui effectivement maintenant que tu le dis, j'avais completement zappé l'existance de elseif. J'essairais en rentrant chez moi, mais c'est pas impossible que ce soit ça.

Reply

Marsh Posté le 10-03-2009 à 17:44:45    

bon bah c'était ça, merci !

Reply

Marsh Posté le 10-03-2009 à 18:01:01    

de rien. [:aslan117]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed