marcv@lycos.com (luminous) wrote in message news:...
> Bonjour,
>
> Quelqu'un pourrais m'aider SVP à résoudre ce problème :
> J'ai de gros soucis pour résoudre ce système d'équations, où
> Y0,Y1,Y2,C0,C1 et C2 sont connus. Je cherche donc X, a et b.
>
> Y0 = a*log(X+C0) +b
> Y1 = a*log(X+C1) +b
> Y2 = a*log(X+C2) +b
>
> Merci pour votre précieuse aide !
> A+Si vous avez une estimation X0 de X, vous pouvez
linéariser et résoudre approximativement.
Exemple (fait avec Mathematica):
In[1]:=eq= {Y0 == a*Log[X+C0] +b ,
Y1 == a*Log[X+C1] +b ,
Y2 == a*Log[X+C2] +b };
In[2]:=lin0=Series[Log[X+C0],{X,X0,1}]//Normal;lin0//InputForm
Out[2]//InputForm=(X - X0)/(C0 + X0) + Log[C0 + X0]
In[3]:=lin1=Series[Log[X+C1],{X,X0,1}]//Normal;lin1//InputForm
Out[3]//InputForm=(X - X0)/(C1 + X0) + Log[C1 + X0]
In[4]:=lin2=Series[Log[X+C2],{X,X0,1}]//Normal;lin2//InputForm
Out[4]//InputForm=(X - X0)/(C2 + X0) + Log[C2 + X0]
In[5]:=eq2=eq/.Log[X+C0]\[Rule]lin0/.Log[X+C1]\[Rule]lin1/.Log[X+C2]\[Rule]
lin2;eq2//InputForm
Out[5]//InputForm=
{Y0 == b + a*((X - X0)/(C0 + X0) + Log[C0 + X0]),
Y1 == b + a*((X - X0)/(C1 + X0) + Log[C1 + X0]),
Y2 == b + a*((X - X0)/(C2 + X0) + Log[C2 + X0])}
In[6]:=Solve[eq2,{X,a,b}]//FullSimplify//InputForm
Out[6]//InputForm=
{{X -> (X0*(C2*X0*(Y0 - Y1) - C1*(X0*Y0 + C2*Y1) + C1*(C2 + X0)*Y2 +
C0*(C2*Y0 + X0*Y1 + C1*(-Y0 + Y1) - (C2 + X0)*Y2)) +
(C0 + X0)*(C1 + X0)*(C2 + X0)*((Y1 - Y2)*Log[C0 + X0] +
(-Y0 + Y2)*Log[C1 + X0] + (Y0 - Y1)*Log[C2 + X0]))/
(C2*X0*(Y0 - Y1) - C1*(X0*Y0 + C2*Y1) + C1*(C2 + X0)*Y2 +
C0*(C2*Y0 + X0*Y1 + C1*(-Y0 + Y1) - (C2 + X0)*Y2)),
b -> ((C0 + X0)*((C1 + X0)*Y1 - (C2 + X0)*Y2)*Log[C0 + X0] -
(C1 + X0)*((C0 + X0)*Y0 - (C2 + X0)*Y2)*Log[C1 + X0] +
(C2 + X0)*((C0 + X0)*Y0 - (C1 + X0)*Y1)*Log[C2 + X0])/
((C1 - C2)*(C0 + X0)*Log[C0 + X0] - (C0 - C2)*(C1 + X0)*
Log[C1 + X0] + (C0 - C1)*(C2 + X0)*Log[C2 + X0]),
a -> (C2*X0*(Y0 - Y1) - C1*(X0*Y0 + C2*Y1) + C1*(C2 + X0)*Y2 +
C0*(C2*Y0 + X0*Y1 + C1*(-Y0 + Y1) - (C2 + X0)*Y2))/
(-((C1 - C2)*(C0 + X0)*Log[C0 + X0]) + (C0 - C2)*(C1 + X0)*
Log[C1 + X0] - (C0 - C1)*(C2 + X0)*Log[C2 + X0])}}