Maple: Simplifikation af udtryk og løsning af ligninger
Maple: Simplifikation af udtryk og løsning af ligninger
Maple: Simplifikation af udtryk og løsning af ligninger
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Simplifikation</strong> <strong>af</strong> <strong>udtryk</strong> med simplify<br />
Som nævnt ved sidste forelæsning konverterer <strong>Maple</strong> ikke automatisk indtastede <strong>udtryk</strong> til den simpleste form,<br />
men man kan bruge simplify til at forsimple med:<br />
> exp(a+ln(b*exp(c)));<br />
> simplify(%);<br />
> cos(x)^2+sin(x)^2;<br />
> simplify(%);<br />
> x*(x+4)+x^2+(x+1)*(x-3)+2;<br />
> simplify(%);<br />
e (a+ln(b ec ))<br />
b e (a+c)<br />
cos(x) 2 + sin(x) 2<br />
1<br />
x (x + 4) + x 2 + (x + 1) (x − 3) + 2<br />
3 x 2 + 2 x − 1<br />
Ved første øjekast kan simplify synes som den mest nyttige funktion i <strong>Maple</strong> overhovedet. Men den har sine<br />
begrænsninger.<br />
Det er nemlig ikke veldefineret hvad der er den "simpleste form" <strong>af</strong> ethvert matematisk <strong>udtryk</strong> – den bedste form<br />
<strong>af</strong>hænger <strong>af</strong> hvad man skal bruge <strong>udtryk</strong>ket til.<br />
Databehandling 2005 KVL Side 19-5<br />
Manipulation <strong>af</strong> <strong>udtryk</strong> med expand <strong>og</strong> factor<br />
Funktionen expand ændrer et <strong>udtryk</strong> ved at gange alle parenteser ud (distribuere produkter over summer) <strong>og</strong><br />
derefter samle led <strong>af</strong> samme potenser.<br />
> expand(x*(x+4)+x^2+(x+1)*(x-3)+2);<br />
3 x 2 + 2 x − 1<br />
Den modsatte <strong>af</strong> at ekspandere et <strong>udtryk</strong> er at forsøge at faktorisere det til et produkt <strong>af</strong> polynomier <strong>af</strong> mindst<br />
mulig grad.<br />
Dette gøres med funktionen factor:<br />
> factor(%);<br />
(x + 1)(3 x − 1)<br />
Denne form <strong>af</strong> polynomiet er nyttig for nu kan vi direkte se at rødderne er -1 <strong>og</strong> 1 3 .<br />
Det er muligt at bede expand om at lade visse under<strong>udtryk</strong> forblive uekspanderede:<br />
> expand((a+b)*(c+d)); expand((a+b)*(c+d),a+b);<br />
a c + a d + b c + b d<br />
(a + b) c + (a + b) d<br />
Databehandling 2005 KVL Side 19-6<br />
Mere om expand <strong>og</strong> factor, samt normal<br />
Funktionerne expand <strong>og</strong> factor virker <strong>og</strong>så på rationelle <strong>udtryk</strong>.<br />
> (x+1)*(x-2)/(x-5);<br />
(x + 1) (x − 2)<br />
x − 5<br />
> expand(%);<br />
x2 x<br />
−<br />
x − 5 x − 5<br />
1<br />
− 2<br />
x − 5<br />
Med funktionen normal kan man bringe et rationelt <strong>udtryk</strong> på faktoriseret normal form, d.v.s. som en brøk hvor<br />
tæller <strong>og</strong> nævner er polynomier der ikke går op i hinanden.<br />
> normal(%);<br />
x 2 − x − 2<br />
x − 5<br />
Endelig kan man bruge factor for at faktorisere tæller <strong>og</strong> nævner igen:<br />
> factor(%);<br />
(x + 1) (x − 2)<br />
x − 5<br />
Databehandling 2005 KVL Side 19-7<br />
Manipulation <strong>af</strong> <strong>udtryk</strong> med expand <strong>og</strong> combine<br />
Med expand kan man <strong>og</strong>så ekspandere en lang række <strong>udtryk</strong> der indeholder specielle funktioner.<br />
> expand(cos(x+y));<br />
cos(x) cos(y) − sin(x) sin(y)<br />
Her kan man ikke bruge factor for at gå den anden vej, men ofte kan man bruge funktionen combine:<br />
> combine(%);<br />
> expand(exp(a+b));<br />
> combine(%);<br />
> expand(Int(x+1,x));<br />
> combine(%);<br />
> expand(exp(sin(a+b)));<br />
> combine(%);<br />
<br />
cos(x + y)<br />
e a e b<br />
e (a+b)<br />
<br />
x dx + 1 dx<br />
<br />
x + 1 dx<br />
e (sin(a) cos(b)) e (cos(a) sin(b))<br />
e sin(a+b)<br />
Databehandling 2005 KVL Side 19-8