Bonjour à tous, au sein d'un exercice on me demande de calculer un taux r qui résout l'équation suivante :
Somme(ci/(1 + rΔ)i) = 0 (la somme allant de 0 à n)
Plus précisément je dois définir une fonction du type function[r]=irr(t,c) pour déterminer ce taux.
Voici le travail que j'ai effectué pour le moment :
Code:function [r] =myirr(t,c) %Determination of the cash flow n=5 a=1 b=10 c = randi ([a,b],n) %t0<t1<...<tn Determination of the equally spaced time T=25 delta = T/n k=[0:1:n] t=delta*k %condition sum(c./(1+r*delta.^k)= 0 end
Cela ne marche pas, je bloque sur la fin, je ne vois pas comment demander le calcule de la variable r.
J'ai pensé à utiliser des loops tels que "If" "While" du type :
Code:function [r] =myirr(t,c) r=0 ii=0 While sum(c./(1+r*delta).^k)~= 0 r=r+ii end
ou
Code:r=0 for ii=0:10 r=r+ii if sum(c./(1+r*delta).^k)= 0 break end end
Pensez vous que je dois utiliser ce genre de loop et l'intégrer dans ma fonction ? Ou suis-je complètement à côté de la plaque ?
Je suis complètement débutante sur Matlab donc s'il vous plait soyez indulgent
-----