Maplesession3-DER-Matematik 1

Denna session behandlar derivering.
Maple är ett språk som behärskar automatisk formelbehandling bl.a i form av symbolisk derivering av funktionsuttryck med avseende på en viss specificerad variabel.
Variabler/parametrar som inte skall deriveras med avseende på behandlas som konstanter. Detta betyder att Maple har en betydande algebraisk räknefärdighet,
vilket illustreras i vårt första exempel:

Exempel 1

> restart;

Vi definierar ett lagom komplicerat funktionsuttryck som innehåller ett antal parametrar.

> f:=(a*x+b)/sqrt(A*x^2+B*x+C);

[Maple Math]

Deriveringskommandot i Maple heter 'diff' där första argumentet anger det uttryck som deriveras och det andra den variabel som deriveras med avseende på.

> df:=diff(f,x);

[Maple Math]

Andraderivatan erhålls lätt genom ytterligare ett x i tredje argumentet:

> d2x:=diff(f,x,x);

[Maple Math]

Uttrycket sväller efter varje derivering och det är lämpligt att låta Maple försöka förenkla det.
Kommandot 'simplify' lyckas här sätta uttrycket på gemensamt bråkstreck.

> d2xs:=simplify(d2x);

[Maple Math]


Exempel 2

Nästa exempel visar hur Maple klarar av implicit derivering och också hur implicit definierade funktioner kan plottas.

Vi definierar följande kurva, tredjegradsuttryck både i x och y och alltså inte så lätt att uttrycka explicit som en funktion y=y(x).

> k:=x^3+y^3-2*x*y;

[Maple Math]

En sådan kurva kan plottas med kommandot 'implicitplot'.
Observera att ett extra plottbibliotek måste laddas med 'with(plots)'.

Här är angivande av x-intervall och y-intervall obligatoriskt.

'numpoints=2000' har lagts till för att få tättare plottningspunkter på kurvan vilket gör kurvan jämnare.
'numpoints=200' är default-värde.

> with(plots):
implicitplot(k,x=-3..3,y=-3..3,numpoints=2000);

Kommandot 'implicitdiff' deriverar ett flervariabeluttryck med avseende på den variabel som anges i tredje positionen bland argumenten.
Den variabel som betraktas som en funktion av denna variabel anges i andra positionen.
Här nedan deriveras alltså med avseende på x i ekvationen k = 0,
där y betraktas som en funktion av x.
Kommandot åstadkommer också att derivatan y' löses ut explicit.
kyx, som definieras nedan , är alltså just y'.

> kyx:=implicitdiff(k,y,x);

[Maple Math]

Vi vill finna den punkt där kurvans tangent är vågrät och försöker därför hitta derivatans 0-ställen.
(Lägg märke till att vi därför låter Maple söka lösningen till ekvationssystemet
kyx=0 och k=0 i termer av x och y.):

> s1:=solve({kyx=0,k=0},{x,y});

[Maple Math]

Här misslyckas Maple faktiskt med detta, varför vi hjälper till genom att själva observera att ekvationen y' = 0 (kyx = 0) leder till
y = (3/2)x2.
Detta sätts nu in i ekvationen k = 0 med kommandot 'eval':

> K:=eval(k,y=3*x^2/2);

[Maple Math]

Nu borde det gå bättre att lösa ekvationen i termer av x:

> s2:=solve(K,x);

[Maple Math]

OK, 6 st- rötter kan tyckas mycket, men x=0 är en tredubbel rot (vågrät tangent i origo för en kurvgren) och två är komplexa.
Den intressanta roten är tydligen den fjärde, som vi evaluerar som decimalbråk:

> x1:=evalf(s2[4]);

[Maple Math]

Detta värde tycks stämma med läget för en vågrät tangent på kurvans ögla.


Övning

Gör egna explicita och implicita deriveringar i anslutning till Exemplen 1 och 2.

1. Derivera exempelvis
a. f(x) = arctan ax - arctan bx - arctan ((a-b)x/(1+abx2)).
(Resultatet bör bli 0 m.hj.a 'simplify'.)

b. g(x) = (ax)bx.
Bilda ex.vis g(4)(x) (4:e-derivatan av g(x) ) och beundra snabbderiveringarna.

c. h(x) = |x2 - 1| + |x-2|.
Observera att Maple kallar derivatan av |x| för abs(1,x).
Det gäller alltså:
abs(1,x) = 1 för x > 0 och abs(1,x) = -1 för x < 0. abs(1,0) är ej definierad.
Det kan här vara instruktivt att plotta h(x) och hp(x) (hp = h' ) i samma koordinatsystem:
' plot([h,hp], x=-2..3); '.
Studera derivatans diskontinuiteter som uppträder i varje
hörnpunkt för h(x), dvs för de x-värden där
ett absolutbelopp är 0.
I exemplet ligger hörnen i x = -1, 1 och 2.

2. Kurvan (x2 + y2)2 = 4(x2-y2)
kallas lemniskata och består av två öglor.
Plotta den först med 'implicitplot'. Glöm inte 'with(plots):' !
(Ganska höga värden på 'numpoints' behövs också här för en snygg kurva.)
Derivera sedan implicit och försök hitta den punkt i 1:a kvadranten
som har vågrät tangent.

Svar: x= (3/2)1/2, y = (1/2)1/2.