Följande session visar en Maple-hantering av det störningsproblem som
förekommer i OH5.6.
Del1. Direkt beräkning.
Vi definierar först den störda ekvationen (**):
> restart;
> F:=x^2 + (3+eps)*x - 4;
Vi löser först ekvationen med avseende på x (eps betraktas som en parameter):
> s:=solve(F=0,x);
Man ser att det är första lösningen, s[1], som ger roten x=1 då eps=0.
Vi kallar den lösningen för L:
> L:=s[1];
MacLaurin-utveckling till och med 2:a-gradstermen sker med kommandot 'taylor(L,eps=0,3);'
där 'eps=0' anger vilket eps-värde man utvecklar omkring (MacLaurin: omkring eps=0)
och sista parametern '3' ger utveckling till och med 2:a-gradstermen
> ML:=taylor(L,eps=0,3);
Del 2. Implicit derivering.
Vi låter här Maple bestämma x'(eps) och x''(eps) med implicit derivering.
Kommandot 'implicitdiff' används här. (Se den korta Maple-handledningen),
Derivatornas värden för eps=0 bestäms med kommandot 'eval'.
Först x'(eps). Ekvationen F=0 deriveras implicit med avseende på eps och x betraktas som en funktion av eps.
Vi kallar x' för xp:
> xp:=implicitdiff(F=0,x,eps);
Maple deriverar implicit och löser sedan ut x'(eps) ur den ekvation som då erhålles.
Vi bestämmer x'(0) genom att sätta in eps=0 och x=x(0)=1 i x'(eps) dvs xp:
> xp0:=eval(xp,[eps=0,x=1]);
Observera hakparenteserna omkring 'eps=0, x=1'.
Dessa behövs när fler än ett värde sätts in samtidigt.
Andraderivatan x''(eps) erhålles på samma sätt direkt ur ekvationen F=0
genom derivering två gånger med avseende på eps:
> xpp:=implicitdiff(F=0,x,eps,eps);
Nu får vi igen sätta eps=0 och x=1.
Observera att Maple redan har satt in x'(eps) i termer av eps och x.
> xpp0:=eval(xpp,[eps=0,x=1]);
Detta är alltså det värde på x''(0) som sätts in i den sökta MacLaurinutvecklingen:
> ML1:=1 + xp0*eps + (xpp0/2)*eps^2 + R2;
Alltså samma som i Del 1 men med en mer generell metod, som
inte bygger på att ekvationen F=0 går att lösa exakt med avseende på
x i termer av eps.