Matematiska Institutionen, K T H. B. Krakus Matematik. Maplelaboration.
. Kommandon, funktioner och konstanter i denna laboration: expand(uttryck) simplify(uttryck) utvecklar uttrycket. T.ex. expand((x+)*(x-)^); ger x 4 - x + x - förenklar uttrycket. T.ex. simplify((a^-b^)/(a+b)); ger a - b subs(x=a,uttryck) ersätter x = a i uttrycket. T.ex. subs(x=,x+); ger 4 f:=x->uttryck definierar funktionen f(x) = uttryck. För att få pilen -> skriv - och >. T.ex. f(x) = x x + sin x fås genom f:=x->x^-*x+sin(x) solve(uttryck,x) försöker lösa ekvationen uttryck = 0 m a p x. T.ex. solve(x^-*x+6,x); ger -4,, solve({ekv,ekv},{x,y}) försöker lösa systemet ekv = 0 m a p x och y. ekv = 0 solve({x+*y,*x-y-7},{x,y}); ger {x =, y = -} plot(uttyck,x=a..b) ritar kurvan y = uttryck i intervallet a < x < b. plot({uttryck,uttryck},x=a..b) ritar kurvorna y = uttryck och y = uttryck i samma bild. implicitplot(f,x=a..b,y=c..d) plottar kurvan på formen (uttryck i x och y) = 0. T.ex. implicitplot(x^+y^-=0,x=-..,y=-..) plottar cirkeln x + y =. Måste föregås av with(plots). diff(f,x) beräknar derivatan df dx. T.ex diff(x^,x) ger x. diff(f,x,x) int(f,x) beräknar andraderivatan d f. T.ex. diff(x^,x,x) ger 6x. dx int(f,x=a..b) beräknar den obestämda integralen f dx utan att ange integrationskonstanten. T.ex. int(*x^,x) ger x. b beräknar integralen f dx. T.ex. int(*x^,x=0..) ger. a taylor(f,x=a,n+) anger Taylorutvecklingen av ordning n av f kring punkten x = a. T.ex. taylor(sin(x),x=0,) ger x + O(x ). convert(taylorutveckling,polynom) anger Taylorpolynomet för den aktuella Taylorutvecklingen. Se exempel 9. evalf(t) anger ett numeriskt värde av t. T.ex. evalf(ln()) ger,098689. var:='var' återger variabeln var dess symbolvärde. abs(x), sqrt(x), ln(x) x, x, ln x. sin(x), cos(x), arctan(x) sin x, cos x, arctan x. Pi talet π
. Exemplen. Exempel. Visa att ln ( + x) x + x för alla x 0. Lika gärna kan vi visa att funktionen f(x) = ln ( + x) x + x 0 för alla x 0. f:=ln(+x)-x/sqrt(+x); f := ln ( + x) x + x Vi skaffar oss information om funktionens förlopp genom att studera derivatan f (x) fprim:=diff(f,x); fprim := + + x + x x ( + x) / Vi förenklar det erhållna uttrycket fprim:=simplify(fprim); fprim := x + x + / ( + x) och bestämmer kritiska punkter, dvs lösningar till ekvationen f (x) = 0 solve(fprim=0,x); 0 Vi får en kritisk punkt x = 0, alltså f (0) = 0 och i alla övriga punkter på intervallet x 0 har f (x) samma tecken (dvs antingen f (x) > 0 i alla punkter eller f (x) < 0 i alla punkter). Vi väljer vilken som helst av dessa punkter, t ex x =, och beräknar f i denna punkt simplify(subs(x=,fprim)); - 6 Vi får f () = /6 < 0, alltså f (x) < 0 för alla x > 0. Detta innebär att funktionen f är avtagande på intervallet x 0. Vidare gäller att f(0) = ln 0 = 0. Båda sistnämnda fakta medför kombinerade att f(x) 0 för alla x 0.
Exempel. Visa att arctan x + arctan a = arctan x + a ax för x <, där a > 0. a Vi betraktar funktionen f(x) = arctan x + arctan a arctan x + a och vill visa att f(x) = 0 för ax alla x < /a. Funktionen är deriverbar för x /a. Vi beräknar och förenklar derivatan f (x) f:=arctan(x)+arctan(a)-arctan((x+a)/(-a*x)); fprim:=simplify(diff(f,x)); f := arctan( x ) + arctan( a) x+ a arctan ax fprim := 0 och vi får att f (x) = 0 för alla x /a. Detta innebär att f(x) = C = konstant för alla x på intervallet x < /a. Speciellt för x = 0 (som tillhör intervallet) får vi att C = f(0) C:=simplify(subs(x=0,f)); C := 0 alltså f(x) = arctan x + arctan a arctan x + a = 0 för alla x < /a där a > 0. ax Man kan fråga sig om likheten gäller även då a < 0. Vi kan till att börja med rita grafen till funktionen f för något negativt värde på a, t.ex a = g:=subs(a=-,f); g := arctan( x ) + arctan( -) x arctan + x plot(g,x=-5..-); x 0-5 -4 - - - Det ser ut som att arctan x + arctan a arctan x + a = konstant. Du kan visa att det verkligen ax förhåller sig på det viset och att konstanten i fråga är lika med π om x < 0, a < 0 och ax >. y -4 4
Exempel. Sök det största och det minsta värdet av f(x) = x + x + 5 x + x då 0 x 5. För att skaffa oss en allmän bild av situationen kan vi plotta f på intervallet 0 x 5. f:=(x^+*x+5*abs(x-))/(+x^); f := x + x+ 5 x + x plot(f,x=0..5); 5 4 0 4 5 Det ser ut som att det största värdet antas nära punkten x = 0 och det minsta nära x =. Att f verkligen har extremvärden, följer av att den är kontinuerlig och intervallet [0,5] är slutet och begränsat. Dessa värden antas antingen i ändpunkterna på intervallet eller i punkter där f (x) = 0 (kritiska punkter) eller i punkter där f (x) saknas (singulära punkter). Förekomsten av termen x gör det troligt att x = är en singulär punkt. I alla andra punkter är f deriverbar. Vi vill bestämma derivatan f (x). Detta kan göras med hjälp av diff(f,x) men gör vi detta så kommer vi förr eller senare råka ut för svårigheter som beror på att Maple inte klarar att hantera uttryck innehållande absolutbelopp. Vi befriar oss från termen x genom att dela upp f i en vänster och en högerdel i förhållande till punkten x =. För x < är x = (x ) och då kan f skrivas på formen x + x 5(x ) + x fleft:=(x^+*x-5*(x-))/(+x^); fleft := x x+ 5 + x medan för x > är x = x och motsvarande uttryck för f är då x + x + 5(x ) + x fright:=(x^+*x+5*(x-))/(+x^); fright := x + 8 x 5 + x 5
Nu kan vi beräkna derivatorna till dessa funktioner fleftprim:=diff(fleft,x); frightprim:=diff(fright,x); x fleftprim := + x x x+ 5 x + x x + 8 frightprim := + x x + 8 x 5 x + x Vi bestämer de kritiska punkterna genom att lösa ekvationen fleftprim = 0 för 0 x och ekvationen frightprim = 0 för x 5 solve(fleftprim=0); + 5, 5 Ingen av dessa punkter tillhör intervallet [0,]. solve(frightprim=0); -, Endast punkten tillhör intervallet [,5]. De aktuella punkterna är alltså: En kritisk punkt, ändpunkterna 0 och 5, samt en singulär punkt. För att beräkna värdena av f i dessa punkter omvandlar vi uttrycket f = x + x + 5 x till en funktion f(x) = x + x + 5 x + x + x f:=x->(x^+*x+5*abs(x-))/(+x^); f := x x + x+ 5 x + x Värdet av f i dessa punkter fikritiskapunkter:=[f(0),f(),f(),f(5)]; fikritiskapunkter := 5,,, 0 Vi avläser att det största värdet är 5 och det minsta är. 6
x + x + 5 x Exempel 4. Beräkna integralen dx. + x 0 f:=(x^+*x+5*abs(x-))/(+x^); integralf:=int(f,x=0..); f := x + x+ 5 x + x integralf := x + x+ 5 x d + x x 0 Maple klarar inte att beräkna integralen. Denna gång beror detta på att absolutbelopp är inbyggt i f. Vi skall hjälpa Maple (på samma sätt som vi gjorde i Exempel ) genom att betrakta f dels till vänster om punkten (då är x = (x )) och dels till höger om denna punkt (då är x = x ) fleft:=(x^+*x-5*(x-))/(+x^); fright:=(x^+*x+5*(x-))/(+x^); fleft := fright := x x+ 5 + x x + 8 x 5 + x Nu kan vi integrera de båda funktionerna över motsvarande intervall integralfleft:=int(fleft,x=0..); integralfright:=int(fright,x=..); integralfleft := ln( ) + π och eftersom 0 f dx = 0 integralfright := + 4 ln( 5) 6 arctan( ) 4 ln( ) + π f dx + f dx = 0 integralf:=integralfleft+integralfright; fleft dx + fright dx så får vi 5 integralf := 5 ln( ) + π + 4 ln( 5) 6 arctan( ) 7
Exempel 5. Beräkna arean av det ändliga område som begränsas av kurvan y = x 4 9x + 9x 8x + 9 och dess tangent i punkten (,4). ykurva:=x^4-9*x^+9*x^-8*x+9; ykurva := x 4 9 x + 9 x 8 x + 9 Tangenten i punkten (,4) har ekvationen y = k(x ) + 4 där k = dykurva (). Vi deriverar dx ykurva ykurvaprim:=diff(ykurva,x); och beräknar derivatans värde i punkten x = k:=subs(x=,ykurvaprim); ykurvaprim := 4 x 7 x + 58 x 8 k := Nu kan vi skriva tangentens ekvation ytangent:=k*(x-)+4; ytangent := + x och bestämma skärningspunkter mellan tangenten och kurvan gemensammapunkter:=solve(ykurva=ytangent); gemensammapunkter :=,,, Vi ritar kurvan och dess tangent i samma figur för x plot({ykurva,ytangent},x=..); 4 x Till vänster om punkten x = ligger tangenten ovanför kurvan. Arean av detta område ges av (ytangent ykurva) dx medan arean av det högra är = där ligger kurvan ovanför tangenten. Den sammanlagda arean är därför lika med arean:=int(ytangent-ykurva,x=..)+int(ykurva-ytangent,x=..); arean := (ykurva ytangent) dx, ty 8
Exempel 6. Beräkna volymen av den kropp som uppstår då området mellan kurvan y = x x + 4, x, och x axeln roterar ett varv kring y axeln. b Volymen ges av π xy dx, under förutsättningen att y 0 och 0 a x b. Vi ritar kurvan a y:=x^-*x+4; y := x x+ 4 plot(x^-*x+4,x=-..); 6 4-0 Det ser ut som om y är > 0 på detta intervall. Om vi misstror denna bild (eller om vi räknar med papper och penna) kan vi undersöka funktionens förlopp genom att ta reda på tecken av derivatan y yprim:=diff(y,x); yprim := x På intervallet [,] är y = x 0, alltså y är avtagande. På samma sätt får vi att y 0 på intervallet [,], alltså y är växande på detta intervall. I minimipunkten x = är y = och detta medför att y > 0 på hela intervallet [,]. När området mellan kurvan och intervallet [,] roteras kring y axeln kommer den del som svarar mot [,0] överlappa delen svarande mot [0,] (ty y är avtagande). Detta innebär att vi får samma kropp om vi endast roterar den vänstra delen. Eftersom x 0 får vi att 0 volymen av denna del är = π xy dx - volym[-,]:=*pi*int(-x*y,x=-..0); 8 volym := -, 5 π volymen svarande mot intervallet [,] ges av π xy dx volym[,]:=*pi*int(x*y,x=..); 5 volym :=, 5 π Svar:=volym[-,]+volym[,]; Svar := 6 π 9
Exempel 7. Betrakta kurvan x 4 8x + x y 4x + 6y = 0. Beräkna a. arean av det område som begränsas av kurvan. b. volymen av den kropp som uppstår då kurvan roterar ett varv kring linjen x + 4y = 8. Beräkning av area : Ur kurvans ekvation kan y lösas ut y:='y': kurva:=x^4-8*x^+*x^-y^-4*x+6*y=0; kurva := x 4 8 x + x y 4 x + 6 y = 0 4 x x, 6 4 x+ x Vi får två lösningar, vilket innebär att området begränsas av två kurvor y = x 4x + 6 och y = 4x x y:=x^-4*x+6; y:=4*x-x^; y := 6 4 x+ x y := 4 x x Vi bestämer skärningspunkterna mellan dessa kurvor punkter:=solve(y=y); plot({y,y},x=..); punkter :=, 4 x Vilken är den översta kurvan? Vi substituerar x = i de båda y uttrycken subs(x=,[y,y]); [ 4, ] och får y =, y = 4 alltså y kurvan ligger överst. Arean ges då av (y y) dx 0
area:=int(y-y,x=..); area := 8 Beräkning av volym : Vi ritar kurvan och linjen i samma figur linje:=*x+4*y=8; linje := x + 4 y = 8 with(plots): implicitplot({kurva,linje},x=..,y=-..4); 4 x 0 Kurvan ligger helt på ena sidan om linjen. Dessutom ser det ut som om kurvan är symmetrisk med avseende av punkten (,). Detta innebär att om punkten ( + a, + b) ligger på kurvan så ligger även den symmetriska punkten ( a, b) där. Vi kan verifiera detta genom att sätta de båda punkternas koordinater i kurvans ekvation kurvapunkt(+a,+b):=expand(subs(x=+a,y=+b,kurva)); kurvapunkt(-a,-b):=expand(subs(x=-a,y=-b,kurva)); kurvapunkt ( + a, + b ):= a + a 4 b = 0 kurvapunkt ( a, b ):= a + a 4 b = 0 Vi får samma uttryck i de båda punkterna, alltså är kurvan verkligen symmetrisk med avseende på punkten (,). Detta ger oss ett gyllene tillfälle att beräkna volymen med hjälp av Guldins regel: Om en plan yta roterar kring en rät linje i planet, är rotationskroppens volym lika med tyngdpunktens väg gånger den roterande ytans area. Ytan skall helt ligga på ena sidan om linjen. Här har vi: Tyngdpunkten = symmetripunkten (,). Avståndet mellan tyngdpunkten och linjen är =. + 4. 8 / + 4 =. Tyngdpunktens väg är = π. = 4π. Alltså volym:=4*pi*area; volym := π
Exempel 8. Beräkna arean av den yta som uppstår då kurvan y = x 6, roterar ett varv kring linjen x =. 5x +, 4 x y:=/*x^-5*x+; y := x 5 x+ Vi plottar kurvan och linjen x = med hjälp av implicitplot with(plots): implicitplot({'y'=/*x^-5*x+,x=},x=0..6,'y'=-..0); 0 4 x 5 6 y - Kurvan och linjen förflyttas så att linjen x = övergår på y axeln. Detta svarar mot att variabeln x ersätts med x +. Vi får en ny kurva yflyttad och roterar den kring y axeln. yflyttad:=expand(subs(x=x+,y)); yflyttadprim:=diff(yflyttad,x); yflyttad := x x+ yflyttadprim := x integrand:=simplify(x*sqrt(+yflyttadprim^)); integrand := x 5 + x 4 x arean:=*pi*int(integrand,x=..); arean := π ( + arcsinh( ) ) där arcsinh x = ln(x + + x ).
Exempel 9. Finns det något intervall kring punkten x = 0 sådant att sin x arctan x x 4 cos x 0 för alla x på intervallet? Vi plottar kurvan y = sin x arctan x x 4 cos x för /000 x /000 y:=sin(x)^*arctan(x)-x^4*cos(x)^; plot(y,x=-/0../0); y := sin( x) ( ) arctan x x 4 cos( x) e-07-0. 0 0 x 0. men denna bild är svår att tyda. För att se hur funktionen y uppför sig i närheten av origo bestämmer vi Taylorutveckling av y i punkten x = 0 taylor(y,x=0); O x 6 Detta innebär att alla termer av grad < 6 försvinner. Vi bestämmer Taylorutveckling av grad 6 ytaylor:=taylor(y,x=0,7); ytaylor := 6 x6 + O x 8 och motsvarande Taylorpolynomet ytaylorpolynom:=convert(ytaylor,polynom); ytaylorpolynom := 6 x6 För x nära origo har y samma tecken som ytaylorpolynom, alltså y 0. Svar: Ja.
Exempel 0. Agenten 007 är ute på ett hemligt uppdrag. Han måste lösa ett problem som kretsar kring funktionen f(x) = arctan x + ln ( + x) som han inte trivs 4 + x med, vilket inte förvånar oss. 007 upptäcker att han får ersätta f med någon annan funktion g om det maximala felet f(x) g(x) blir mindre än 0,007 för alla x på intervallet x (så kallad James Bonds approximation). Något (hemligt) förslag? f:=arctan((-x)/(4+x))+ln(+x); f := x arctan + 4 + x ln ( + x) Vi bestämmer Taylorutvecklingen av f kring punkten x = 0 med resttermen O(x 4 ) ftaylor:=taylor(f,x=0,4); ftaylor := arctan + ln( ) + 0 x 900 x 74 + 40500 x + O x 4 och motsvarande Taylorpolynom fpolynom:=convert(ftaylor,polynom); fpolynom := arctan + ln( ) + 0 x 900 x 74 + 40500 x Vi undersöker hur mycket fpolynom avviker från f genom att betrakta funktionen fel fel:=f-fpolynom; fel := x arctan + + 4 + x ln ( + x) arctan ln( ) 0 x 900 x 74 40500 x och bestämma största och minsta värdet för denna funktion då x. Vi deriverar fel (fast vi deriverar rätt) derivatanfel:=diff(fel,x); x 4 + x ( 4 + x) derivatanfel := + + ( x) + + x 0 450 x 74 500 x ( 4 + x) och bestämmer kritiska punkter genom att lösa ekvationen dfel dx = 0. solve(derivatanfel=0); 05 000,,, 486 + 486 I 9879, 05 486 486 I 9879 4
Vi får en reell lösning x = 0 (och två icke reella). Funktionen fel antar sitt största (minsta) värde i någon av punkterna, 0,. Vi beräknar numeriska värden av fel i dessa punkter evalf(subs(x=-,abs(fel))); evalf(subs(x=0,abs(fel))); evalf(subs(x=,abs(fel)));.0064799860 0.00469479 Det största värdet av fel är = 0,0064799869 < 0,007 alltså vi kan rekommendera att 007 skall använda sig av g(x) = f:s Taylorpolynom av grad kring punkten 0. Detta kan illustreras med en figur där vi i en bild plottar f och fpolynom för x. plot({f,fpolynom},x=-..);.55.5 x - 0 5
. Övningsuppgifter.. Visa att ( x ) ln + x x > 6x för 0 < x <.. Sök det största och det minsta värdet till funktionen f(x) = x + x + 5 x x x + a. x 4, b. x 0., då. Beräkna arean av det ändliga område som begränsas av kurvan y = (x x 6)( x ) och x axeln. 4. Beräkna längden av kurvan y = x x + x, 0 x. 5. Beräkna arean av det ändliga område som begränsas av kurvorna y = x 5 + 0x + och y = 6x 4 + x + 7. 6. Beräkna volymen av den kropp som uppstår då det av kurvan x 4 + 6x + x y + 4x + 4xy y + 6x + 9y = 0 begränsade området roterar ett varv kring x axeln. 7*. Beräkna arean av det område som begränsas av kurvan x 4 + y 4 + x y 6x 6xy + 9x 4x = 0 Ledning: Förflytta origo till punkten (,0) och inför polära koordinater. 8*. Beräkna arean av den yta som uppstår då kurvan y = 5 + 4x + 5 9 + 80x, 0 x, roterar ett varv kring linjen 4x + y = 0. Ledning: Inför (genom vridning) ett nytt koordinatsystem (X,Y) så att linjen 4x + y = 0 övergår på X axeln. 6
5. Lösningsförslag.. x:='x': f:=ln((+x)/(-x))-6*x/(-x^); fprim:=simplify(diff(f,x)); fprim := 8 x 4 + x ( + x ) ( x ) för 0 < x < är f (x) > 0 f är växande. Dessutom är f(0) = 0 f(x) > 0 för 0 < x <.. f:=(x^+x-+5*abs(x-))/(x^-*x+): f:=(x^+x--5*(x-))/(x^-*x+): f:=(x^+x-+5*(x-))/(x^-*x+): Df:=diff(f,x): Df:=diff(f,x): solve(df); solve(df); + 5, 5, simplify([subs(x=,f),subs(x=,f),subs(x=,f),subs(x=4,f)]); 5,,, 4 5 Intervallet [,4]: Största värdet 5, minsta värdet. plot(f,x=..4); limit(f,x=infinity); Intervallet x 0: Största värdet 5, minsta värdet antas inte.. y:=(x^-x-6)*(abs(x)-): solve(y,x); --,,, plot(y,x=-..4); y:=(x^-x-6)*(-x-): y:=(x^-x-6)*(x-): area:=int(-y,x=-..-)+int(y,x=-..0)+int(y,x=0..)+int(-y,x=..); area := 4 7
4. y=x^-*x+-*abs(x-): y:=x^-*x++*(x-): y:=x^-*x+-*(x-): Dy:=diff(y,x): Dy:=diff(y,x): L:=int(sqrt(+Dy^),x=0..): L:=int(sqrt(+Dy^),x=..): L:=simplify(L+L); L := 5 + arcsinh( ) 5. y:=x^5+0*x^+: y:=6*x^4+*x+7: solve(y=y); -,,,, [subs(x=0,y-y),subs(x=/,y-y),subs(x=5/,y-y)]; 6, 5, -6 area:=int(y-y,x=-..)+int(y-y,x=..); area := 69 5 6. y:='y'; kurva:=*x^4+6*x^+x^*y+4*x^+4*x*y-y^+6*x+9*y=0: with(plots): implicitplot(kurva,x=-..-,y=..4); solve(kurva,y); x 4 x, x + 8 x+ 9 y:=*x^+8*x+9: y:=-x^-4*x: solve(y=y); -, - plot({y,y},x=-..-); vol:=pi*int(y^,x=-..-): vol:=pi*int(y^,x=-..-): vol:=vol-vol; vol := 04 5 π 8
7. kurva:=x^4+y^4+*x^*y^-6*x^-6*x*y^+9*x^-4*x=0: implicitplot(kurva,x=-..5,y=-..5); flytt:=[x=x+,y=y]: kurvaflyttad:=expand(subs(flytt,kurva)): polkoord:=[x=r*cos(a),y=r*sin(a)]: polarsubs:=expand(subs(polkoord,kurvaflyttad)): kurvapolar:=simplify([solve(polarsubs,r)]); r:=cos(a)+: area:=/*int(r^,a=0..*pi); kurvapolar := [ 00,, + cos( a), + cos( a) ] area := 9 π 8. kurva:=5+4*x+5*sqrt(9+80*x)-*y=0: linje:=4*x+*y=0: endpunkt:={x=0,y=0/}: endpunkt:={x=,y=(5+48+5*)/}: vridning:={x=/5*x+4/5*y,y=-4/5*x+/5*y}: kurvavriden:=subs(vridning,kurva): linjevriden:=subs(vridning,linje): endpunktvriden:=solve(subs(vridning,endpunkt),{x,y}); endpunktvriden := X = - 9, 4 Y = 6 endpunktvriden:=solve(subs(vridning,endpunkt),{x,y}); Y:=simplify(solve(kurvaVriden,Y)); endpunktvriden := { Y = 4, X = -} Y := X area:=*pi*simplify(int(y*sqrt(+diff(y,x)^),x=-..-/4)); area := π 5 + 64 arcsinh + 6 7 64 arcsinh( 4) 9
0