Maplesession 1 - RTF - Matematik I

Detta är en Maple-session med en hel del inströdda kommentarer.

Läs först igenom sessionen och försök därefter köra en egen session i Maple,
exempelvis i anslutninmg till de övningsförslag som kommer sist i detta dokument.


Börja gärna Maple-sessionen med kommandot 'restart'.

Det kan komma till användning senare.

Avsluta med semikolon och <return>.

> restart;

Vi börjar med att definiera en funktion av x som vi kallar f.

Observera det sammansatta tecknet ': =' som alltid

används vid tilldelning av värden eller definitioner av olika slag.

> f:=1/(1+x^2);

[Maple Math]

Den blå utskriften ger möjlighet att kontrollera att funktionen är den avsedda.

Notera hur bråkstreck och 'upphöjt till' skrivs (i den röda texten).

Om du gör ett formellt fel, ex.vis glömmer ';' ger Maple ett felmeddelande.

Om du använder kolon ( : ) i.st.f. semikolon lagrar Maple kommandot utan att

ge någon blå utskrift.

Vi plottar nu funktionen f på x-intervallet [-3,3].

> plot(f,x=-3..3);

[Maple Plot]

Här syns nu en funktionsgraf på det avsedda intervallet.

Observera att skalorna på x- och y-axlarna ofta är olika.

Detta kan man påverka genom att först klicka på plotten.

Då framträder en ram omkring koordinatsystemet med kvadratiska punkter i bl.a. hörnen.

Genom att föra visaren över punkterna på ramen

kan man flytta ramens kantlinjer och därmed förändra skalorna.

Visaren förändras till en dubbelpil ovanför de kvadratiska punkterna för att visa

att skaländringen är möjlig.

(Detta kan alltså utföras i Maple, inte här i webbläsaren).

Vi prövar nu att plotta flera funktioner i samma koordinatsystem.

Det är ofta intressant att införa en parameter i en funktion och sedan jämföra

graferna för olika parametervärden.

Vi definierar därför funktionen f1 som innehåller parametern 'a' och som

överensstämmer med f för a=1.

> f1:=a->a/(1+a^2*x^2);

[Maple Math]

Observera teckensekvensen ' a -> '.

Pilen '->' framställs av tecknen '-' och '>'.

Denna sekvens hade kunnat utelämnas men genom att ta med den definieras f1

som en explicit funktion av a, vilket innebär att beteckningar som f1(1), f1(2) osv,

kan användas.

f1(1) representerar den givna funktionen f1 med värdet a=1 insatt..

f1(1) är därmed en funktion av enbart x och kan alltså plottas.

Vi plottar nu funktionerna f(1/2), f1(1) och f1(2) i samma koordinatsystem

för att kunna jämföra dem.

Observera att dessa tre funktioner måste samlas i en vektor, som i

Maple skrivs som element i en hakparentes särskiljda av kommatecken.

( Kommandot 'color=[black,blue,red] påverkar grafernas färger.

Utan detta kommando färgas en av kurvorna gul, vilket ofta ger

svårläsliga plottar. )

> plot([f1(1/2),f1(1),f1(2)],x=-3..3, color=[black,blue,red]);

[Maple Plot]

Man ser att f(1/2)-kurvan är svart, f(1)-kurvan är blå och f(2)-kurvan röd.

Med litet integralkalkyl visar man lätt att areorna mellan de tre kurvorna och x-axeln

är ändliga och identiska för samtliga kurvor (oavsett värde på a).

Vi återkommer till detta i Matematik II.

Vi testar nu ekvationslösning med kommandot 'solve':

> s1:= solve(f1(1/2)-f1(1)=0,x);

[Maple Math]

Observera att solvekommandot bara behöver en ekvation

( här: f1(1/2)-f1(1)=0 , som ju innehåller x ) och namnet på den variabel som

ska lösas ut ( här: x ).

Lösningarna är alltså x-koordinaterna för skärningspunkterna mellan den svarta

och den blå kurvan.

Notera också variabeln s1, som definieras som namnet på lösningen.

Detta namn kan sedan användas vid eventuell vidare behandling

av lösningarna.

Eftersom vi i detta fall har två lösningar blir s1 en vektor med två element.

Beteckningen s1[1] representerar den första lösningen (här: 'roten ur 2') och

s1[2] på den andra.

Vi kan exempelvis använda namnet för att få en decimalrepresentation av

lösningarna.

Här används lämpligen den ofta förekommande funktionen evalf:

> s2:=evalf(s1);

[Maple Math]

'evalf' kan alltså också användas på vektorer och ger i så fall komponenternas

decimalrepresentationer med 10 siffror.

Vill man ha fler siffror lägger man in det önskade antalet i evalf-funktionen.

Föjande kommando ger första lösningen (s1[1]) med 15 siffror:

> s3:=evalf(s1[1],15);

[Maple Math]

Vi övergår nu till en annan men likartad familj av kurvor som

också innehåller parametern a:

> g1:=a->a*exp(-a^2*x^2);

[Maple Math]

Samma plotkommando som förut med tre kurvor ger:

> plot([g1(1/2),g1(1),g1(2)],x=-3..3, color=[black,blue,red]);

[Maple Plot]

Likheten med förra fallet är påtaglig.

Man ser dock att kurvorna för a=1 och 2 (blå och röd) här närmar sig

x-axeln snabbare för stora x.

Detta beror på att vi här har exponentialfunktioner i.st.f. rationella funktioner.

Vi söker nu som förut x-koordinaterna för skärningspunkterna mellan svarta och blåa kurvan:

> t1:=solve(g1(1/2)-g1(1)=0,x);

[Maple Math]

> t2:=evalf(t1);

[Maple Math]

Lösningarna ligger alltså nära +1 och -1 vilket tycks stämma med plotten.

Vi ger nu Maple ett mycket svårare problem, nämligen det att

hitta skärningspunkterna mellan f1(1)- och g1(2)-kurvorna.

Vi plottar till att börja med dessa två kurvor:

> plot([f1(1),g1(2)],x=-2..2);

[Maple Plot]

Skärningspunkterna tycks ligga nära + och - 0.5 i x-led.

Men klarar Maple av att lösa ekvationen f1(1)-g1(2) = 0?

Ekvationen ser ju ut så här:

> f1(1)-g1(2)=0;

[Maple Math]

vilket är en transcendent ekvation, dvs. innehåller funktioner av olika

typ (här: rationella och exponentiella) .

Detta omöjliggör normalt symboliska lösningar (som när man löser

en allmän andragradsekvation).

Kan du lösa den?

Vi ser vad Maple gör:

> u1:=solve(f1(1)-g1(2)=0,x);

[Maple Math]
[Maple Math]

Ja, det här är ett typiskt svar när det inte finns någon enkel lösning.

Man ser att Maple använder en speciell funktion, LambertW, för att

formulera lösningen.

Den behöver inte vi bekymra oss om i den här kursen.

Slutsatsen är istället: inga elementärt framställbara lösningar finns.

Av Maples fyra lösningar ser man att två är komplexa eftersom de innehåller den

komplexa storheten ' i ' . (Maple kallar den ' I ' )').

Men vi kan faktiskt få numeriska lösningar här m.hj.a. evalf:

> u2:=evalf(u1);

[Maple Math]

Här får man alla fyra, även de två komplexa som vi här kan bortse ifrån.

De två reella är tydligen nära +0.5 resp. -0.5 vilket stämmer med plotten.

Ett mer direkt sätt att få numeriska lösningar är att använda den numeriska

lösningsfumktionen fsolve.

Här måste man ange ett intervall inom vilket lösningen skall sökas.

Här söker vi inom intervallet [0,2]:

> u3:=fsolve(f1(1)-g1(2)=0,x=0..2);

[Maple Math]

Här får vi den positiva lösningen som alltså i stort sett överensstämmer med en av de

tidigare erhållna rötterna.

Därmed är första veckans Maple-session avslutad.


Förslag till egna övningar:

Läs först igenom den första delen av dessa allmänna Maple-tips.

1.Mata in en egen funktion och plotta den på ett lämpöigt intervall.

2. Mata in en parameterberoende funktion av typ h1:=a->H(x,a);

där H(x,a) kan vara exa, sin(xa), ln(xa) och/eller arctan(xa).

Studera hur parametern påverkar graferna och försök förstå

varför.

3. Välj två ekvationer varav en bör gå att klara med solve

(tredjegradsekvation eller lägre, ex.vis) och en transcendent

ekvation (cos x = x el. liknande).

Se vad som händer med solve och fsolve.

Använd evalf på solve-lösningen.

Plotta ekvationerna (dvs. vänsterledsfunktionen F, då ekvationen

är F(x) = 0.)