Bonjour,
j'ai programmé un algorithme sur matlab qui est constitué d'une fonction principale et de 2 autres fonctions, le voila:
la fonction principale est la suivante:
Code:function bt=brp c1=input('Donner le coût du remplacement à la panne') c2=input('Donner le coût du remplacement préventif') k=input('Donner la valeur de k') p=(1/1.5)*((k/0.5)-((k*(1.5)-k*k*0.5)^0.5)); lamda=(k-p)./2; for t=0:0.1:3.1414 m=1-(exp(-t))*(t+1)+Fbrp(t,lamda,p,k); bt=[(c1*m)+c2]/t; end
La fonction Fbrp est la suivante:
La fonction sombbrp est la suivante:Code:function w=Fbrp(t,lamda,p,k) x=0; for n=2:12 for j=0:n z=[nchoosek(n,j)]; s=sombrp(t,lamda,k,n); x(n,j) =x+z.*(((1-p)^j)*(p^(n-j))*(1-s)); end end w=x;
La fonction principale fait appel à la fonction Fbrp qui à son tour fait appel à la fonction sombrp.Code:function s=sombrp(t,lamda,k,n) s=0; for l=0:(n.*(k-1)+j-1) s=s+((lamda*t)^l)*exp(-lamda*t)/factorial(l); end
Le message d'erreur suivant apparait:
Warning: Colon operands must be real scalars.
> In sombrp at 4
In Fbrp at 7
In brp at 13
??? Subscript indices must either be real positive integers or logicals.
Error in ==> Fbrp at 8
x(n,j) =x+z.*(((1-p)^j)*(p^(n-j))*(1-s));
Error in ==> brp at 13
m=1-(exp(-t))*(t+1)+Fbrp(t,lamda,p,k);
Svp aidez moi je n'ai pas trouvé la signification de ce message d'erreur et pourquoi mon programme ne marche pas,c'est urgent
merci
-----