J'ai ce problème avec Matlab (aussi je suis nouveau à Matlab)Matlab Fonction comportement bizarre
j'ai écrit cette fonction:
function pret = p_t(i)
if (i<=0)
pret = (1/4)*exp((1/2)*i);
elseif ((1 <= i))
if(i <=4)
pret = (1/9)*(i-1);
else
pret = 0;
end
else
pret = 0;
end
fin
donc si je cours comme ça p_t (1: 4) je reçois 0; 0,111; 0,2222; 0,3333 chaque fois que basiquement il frappe la partie où il est censé être égal à zéro, il me donne tous les zéros, peu importe si certaines valeurs « valides » sont dans les INTEVAL par exemple p_t (-5: 5) me donne tous les zéros
http://puu.sh/kYEyo/6bf0574d34.png C'est la fonction que j'essaie de programmer ("sonst" est l'allemand pour "sinon" ou "else")
des idées où le problème pourrait être? Merci beaucoup!
(* Juste pour les coups de pied *): Vous pouvez obtenir la même chose qu'une fonction en ligne: 'x = @ (t) (~ ((t < 1 & t > 0) | (t> 4))) * ((0.25 * exp (0.5. * t)) * (t <= 0) + ((1/9) * (t-1) * (t < 4 & t> 1))) ' –