PDF-format
PDF-format
PDF-format
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).