26.07.2013 Views

PDF-format

PDF-format

PDF-format

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

22<br />

Maple forsøger med fsolve at finde alle reelle løsninger hvis ligningen er et polynomium. Tag for eksempel sjettegradsligningen<br />

fra før:<br />

> fsolve({4*x^6-12*x^5+2*x^2-9*x+9=0},{x});<br />

{x = 0.8086092632}, {x = 3.}<br />

Her findes de to reelle løsninger. Man kan bede fsolve om også at lede efter imaginære løsninger:<br />

> fsolve({4*x^6-12*x^5+2*x^2-9*x+9=0},{x},complex);<br />

{x = −0.8036861004 − 0.6548567008 I}, {x = −0.8036861004 + 0.6548567008 I},<br />

{x = 0.3993814688 − 0.8387514991 I}, {x = 0.3993814688 + 0.8387514991 I},<br />

{x = 0.8086092632}, {x = 3.}<br />

For ligninger der ikke er polynomier finder fsolve kun en enkelt løsning, selv når der er flere:<br />

> fsolve(cos(x)=0,x);<br />

1.570796327<br />

Man kan bede fsolve om at lede efter løsningen i et bestemt interval:<br />

> fsolve(cos(x)=0,x=Pi..2*Pi);<br />

4.712388980<br />

Man kan også bede fsolve om at undgå visse værdier:<br />

> fsolve(cos(x)=0,x,avoid={x=Pi/2,x=3*Pi/2});<br />

−1.570796327<br />

Endelig kan man benytte et trick hvor man dividerer den oprindelige ligning med de(n) løsning(er) man allerede<br />

har fundet. Dette giver singulariteter i ligningen som fsolve så undgår:<br />

> x1:=fsolve(cos(x)=0,x);<br />

x1 := 1.570796327<br />

> x2:=fsolve(cos(x)/(x-x1)=0,x);<br />

x2 := −1.570796327<br />

> fsolve(cos(x)/(x-x1)/(x-x2)=0,x);<br />

−266650.5305<br />

Som det kan ses giver det dog ikke nødvendigvis nogen særlig god kontrol af hvor den næste løsning findes.<br />

Det samme trick med at dividere med kendte løsninger kan man ikke bruge med solve:<br />

> solve(cos(x)=0,x);<br />

> solve(cos(x)/(x-Pi/2)=0,x);<br />

(Dette giver ingen løsninger.)<br />

1<br />

2 π<br />

En sidste speciel form for løsning af ligninger skal nævnes. Det hænder at man ønsker at finde konstanter der får<br />

en ligning til at være sand for alle værdier af den variable. Man kan bruge solve sammen med den specielle funktion<br />

identity til at løse problemer af denne type:<br />

> solve(identity(sin(x)=cos(a*x+b),x),{a,b});<br />

{b = − 1<br />

1<br />

π, a = 1}, {b = π, a = −1}<br />

2 2<br />

Her finder vi de værdier af a og b som gør ligningen sin(x) = cos(a x + b) sand for alle værdier af x.<br />

> restart;<br />

16 Løsning af differentialligninger<br />

Maple kan løse såvel ordinære som partielle differentialligninger samt systemer af differentialligninger. Her vil kun<br />

løsning af ordinære differentialligninger blive kortfattet gennemgået, hvis man har brug for at løse partielle differentialligninger<br />

med Maple kan man se hvordan det gøres i online-hjælpen (funktionen hedder pdsolve).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!