• No results found

Kontinuerliga system, Datorövning 2

N/A
N/A
Protected

Academic year: 2022

Share "Kontinuerliga system, Datorövning 2"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

V˚arterminen 2003

Kontinuerliga system, Dator¨ ovning 2

Inledning

Ett modernt datoralgebrasystem har som huvudfunktion att g¨ora symboliska ber¨akning- ar, i motsats till numeriska. Det kan utf¨ora algebraiska manipulationer och f¨orenklingar, l¨osa ekvationssystem, integrera och derivera symboliskt och l¨osa differentialekvationer.

Dessutom kan de flesta s˚adana system ocks˚a utf¨ora numeriska ber¨akningar och har kraft- fulla grafiska funktioner. Beh¨over man g¨ora mera omfattande numeriska ber¨akningar anv¨ander man sig dock hellre av Matlab eller specialskrivna numeriska program.

Maple ¨ar ett av de ledande datoralgebrasystemen. N˚agra av de starkaste konkurren- terna ¨ar Mathematica, Macsyma och Reduce. LTH har en generell licens f¨or Maple, och systemet b¨or d¨arf¨or finnas tillg¨angligt p˚a alla institutioner och p˚a skolans elevdatorer.

Det kan k¨oras p˚a de flesta vanliga operativsystem.

Syftet med denna datorlaboration ¨ar att Du skall bli bekant med Maple och se hur det kan anv¨andas

• f¨or symboliska och numeriska ber¨akningar,

• f¨or visualisering,

• i specialanv¨andningar, genom ett antal utbyggnadspaket, s˚a kallade ’packages’.

Hinner du inte med alla uppgifterna under den handledda ¨ovningen, s˚a genomf¨or de

˚aterst˚aende momenten p˚a egen hand, antingen p˚a LTH:s datorer eller p˚a egen.

Vi kommer i denna ¨ovning att arbeta med en del exempel fr˚an ¨ovningar och f¨orel¨as- ningar. Tag d¨arf¨or med l¨aroboken och ¨ovningsh¨aftet till laborationen. L¨as noga igenom den allm¨anna Maple-introduktionen i avsnitt 1, s˚a noga att du bara beh¨over ¨agna h¨ogst en halvtimme av laborationstiden ˚at detta. I avsnitt 2 och 3 finns n˚agra f¨orberedelseupp- gifter. G¨or dessa innan laborationen. Skriv in dina svar p˚a sista sidan och var beredd att motivera svaren under laborationen.

1 Om Maple

Allm¨ant

Maple ¨ar ett mycket m˚angsidigt program, och man kan ¨agna mycket tid ˚at att utforska dess anv¨andningsm¨ojligheter. Dess m˚angsidighet g¨or det samtidigt sv˚arare att anv¨anda

¨an tex Matlab.

I denna ¨ovning kommer ganska mycket utrymme att ¨agnas ˚at allm¨anna f¨orberedel- ser, innan vi kommer till de speciella anv¨andningarna inom Kontinuerliga system. D¨ar kommer vi att anv¨anda Maple som en oerh¨ort kraftfull r¨aknedosa.

Liksom de flesta programpaket uppgraderas Maple relativt ofta. Versionerna skiljer sig n˚agot ˚at, och anvisningarna nedan ¨ar gjorda f¨or Maple6. Mer information om Maple

¨an vad som ryms i denna korta introduktion kan man finna i det inbyggda hj¨alpsystemet samt i en stort antal skrifter och b¨ocker. P˚a institutionen har utgivits en utf¨orligare introduktion (mest avsedd f¨or envariabelanalys) Andersson–Nilsson, Maplehandboken (1995). Den beskriver version MapleVR3 och finns att h¨amta p˚a

(2)

http://www.maths.lth.se/matematiklu/personal/goran_a/Maple/mh.html.

En modernare version har f¨orfattats av C.G. Werner: Maplehandboken i Lund 2002.

H¨aftet kan k¨opas p˚a studerandeexpeditionen vid Matematikavdelningen (NF) rum MH 456. En handledning f¨or MapleVR5 ¨ar Heal, Hansen & Rickard, Maple V Learning Guide, Springer 1998.

Starta Maple p˚a UNIX-system genom att ge kommandot maple -x, eller, p˚a vis- sa maskiner, xmaple &. P˚a Windows-maskiner brukar finnas en Maple-ikon. Placera Maplef¨onstret, som strax kommer upp, p˚a l¨ampligt st¨alle. Man g˚ar ur Maple genom att v¨alja Exit i File-menyn. Beh¨over man avbryta n˚agon process kan man anv¨anda en stop-knapp p˚a menyraden.

Hj¨alp

Maple har ett omfattande inbyggt hj¨alpsystem. Om man klickar p˚a Help i menyraden, s˚a f˚ar man tillg˚ang till hj¨alpfunktioner. Dessa fungerar p˚a lite olika s¨att, beroende p˚a vilken Mapleversion man k¨or, men brukar vara l¨atta att anv¨anda.

Plocka fram hj¨alpen f¨or exp och constant. Observera i det senare fallet s¨arskilt de symboliska konstanterna I, Pi och infinity. Dessa ¨ar reserverade namn, som inte f˚ar anv¨andas till annat. Observera att Maple skiljer p˚a stora och sm˚a bokst¨aver. Talet e skrivs exp(1).

Man kan ocks˚a f˚a hj¨alp genom att skriva ett s¨okord f¨oreg˚anget av ett fr˚agetecken, t ex ?exp, ?constant. I slutet p˚a varje hj¨alptext finns exempel och h¨anvisningar till andra kommandon som kan vara av nytta.

Grundl¨aggande kommandon och aritmetiska ber¨akningar

I Maplef¨onstret hittar du en ’prompt’ >, som betyder att Maple v¨antar p˚a ett kommando.

Skriv in 7+5; och tryck p˚a Enter, s˚a utf¨ors summationen.

Observera att varje kommando till Maple m˚aste avslutas med ett semikolon ;, utan detta h¨ander ingenting. Detta g¨or att man kan sl˚a in l˚anga formler som inte f˚ar plats p˚a en rad. Skriver man kolon : s˚a utf¨ors operationen, men resultatet kommer inte upp p˚a sk¨armen.

Kontrollera att Maple kan fungera som en vanlig r¨aknedosa. Prova i tur och ordning 2-3*5; 1/2+1/3; sqrt(4)*sqrt(3);

Observera att Maple ger exakta svar, inte n¨armev¨arden.

N¨armev¨arden erh˚alles genom kommandot evalf;, som st˚ar f¨or ’evaluate using flo- ating point arithmetic’. F¨or att f˚a ett n¨armev¨arde f¨or den senast utf¨orda ber¨akningen (2√

3 i v˚art fall) kan man skriva

evalf(%);

Man kan naturligtvis ocks˚a skriva evalf(sqrt(4)*sqrt(3));. P˚a samma s¨att kan re- sultatet av den n¨ast senaste ber¨akningen ˚aberopas genom %%, etc.

En annan praktisk detalj i Maple ¨ar m¨ojligheten att g˚a tillbaka till gamla kommandon p˚a sk¨armen med pil-upp och pil-ner tangenterna, ¨andra i kommandona och utf¨ora dem p˚a nytt. Man kan ocks˚a anv¨anda musen f¨or att snabbt flytta sej till olika delar av sk¨armen.

(3)

Testa genom att g˚a tillbaka till kommandot 1/2+1/3; och g¨or en annan br˚akber¨akning genom att ¨andra siffror.

N¨ar det g¨aller kommandot evalf s˚a kan man ur hj¨alpfunktionen, som n˚as med

?evalf, utl¨asa att man genom ett andra argument kan ange med hur m˚anga siff- ror man vill ha svaret. Anv¨and detta f¨or att f˚a ett v¨arde p˚a π med 1000 decimaler, evalf(Pi,1000);.

Variabler

Maple kan inte bara r¨akna med tal utan ocks˚a med variabler och med funktioner. Detta g¨or att ett Maplesystem blir st¨orre och ofta mer invecklat att programmera ¨an ett vanligt programmeringspr˚ak, men ocks˚a oerh¨ort mycket mera kraftfullt.

Ge kommandot (x+1)^3;. Maple svarar med samma sak. Som svar p˚a expand(%);

s˚a utvecklar Maple uttrycket enligt binomialteoremet. Prova ¨aven med

expand((a-b)*(a+b)); expand(x*(x+1)*(x+2)*(x+3)); expand(cos(x+y));

Som bekant vill man ofta g˚a ˚at andra h˚allet, och faktoruppdela ett givet uttryck.

Detta g¨ors med kommandot factor. Prova detta p˚a de polynomuttryck som du fick ovan.

Ett annat kommando f¨or f¨orenkling ¨ar simplify. Prova detta genom att skriva simplify(1/(x-1)+1/(x+1));

Maple g¨or inte alltid det man ¨onskar. Ett annat kommando man kan ha nytta av f¨or att g¨ora omskrivningar ¨ar normal.

Tilldelningssatser

Man kan tilldela en variabel ett v¨arde, numeriskt eller symboliskt. Tilldelningssymbolen

¨ar liksom i Pascal och Simula :=. Prova med x:=2;. Kommandot x; ger nu variabelv¨ardet 2. Prova ocks˚a med (x+1)^2;.

En variabel som f˚att ett v¨arde beh˚aller detta tills man g˚ar ur Maple eller ger den ett annat v¨arde. F¨or att ta bort v¨ardet kan man anv¨anda kommandot x:=’x’;, som g¨or att Maple tolkar bokstaven x som en variabel, betecknad x, inte som variabelns v¨arde.

Det ¨ar l¨att att gl¨omma bort att man gett en variabel ett v¨arde tidigare, vilket kan leda till obegripliga resultat av r¨akningar. Vill man ta bort alla v¨arden p˚a variabler och helt och h˚allet b¨orja om fr˚an b¨orjan skriver man restart;.

Variabler kan f¨orutom numeriska v¨arden ¨aven ha Mapleuttryck som v¨arden. Genom tilldelningskommandot

f:=(x+1)^3;

s˚a s¨atter vi f lika med (x + 1)3. (Blir svaret 27 s˚a tag bort det tidigare v¨ardet fr˚an x och f¨ors¨ok igen.) Man kan sedan r¨akna vidare med f och skriva t ex f^2; och expand(f^2);.

Om man vill ber¨akna v¨ardet av uttrycket f^2 f¨or t ex x=2 utan att varaktigt tilldela xett v¨arde s˚a kan man skriva

subs(x=2,f^2);

(4)

Funktioner

Maple kan hantera inte bara analytiska uttryck, som vi sett exempel p˚a ovan, utan

¨aven funktioner. Dessa kan definieras p˚a flera olika s¨att. Det f¨or v˚ara ¨andam˚al enklaste p˚aminner om beteckningen

x 7→ g(x) f¨or en funktion g. Ge kommandot

g:= x->(x+1)^3;

Nu kan funktionsv¨arden ber¨aknas p˚a det s¨att man ¨ar van vid. Prova t ex med g(0);, g(-1);, g(a); och g(y+z);.

Anm¨arkning Man m˚aste noga h˚alla is¨ar begreppen funktion och funktionsuttryck, d¨ar det senare behandlades under rubriken ’Tilldelningssatser’ ovan. F¨or s¨akerhets skull upprepar vi skillnaden:

Om vi ger ett v¨arde till F genom tilldelningen F:=exp(x)-sin(x); s˚a ¨ar F ett uttryck med variabeln x inbyggt. Om vi i st¨allet ger F ett v¨arde genom F:=x->exp(x)-sin(x);

s˚a ¨ar F en funktion, d¨ar x bara anv¨ands f¨or att definiera en regel, och d¨ar man skulle kunna anv¨anda vilken annan symbol som helst. Funktioner ¨ar mycket mer flexibla, men ibland n˚agot mer sv˚arhanterliga ¨an funktionsuttryck. Det finns lyckligtvis ett enkelt s¨att att g¨ora om ett uttryck till en funktion, n¨amligen genom att anv¨anda kommandot unapply. Till exempel ger kommandot F:=unapply(exp(x)-sin(x),x); samma sak som F:=x->exp(x)-sin(x);.

Maple klarar ocks˚a funktioner av flera variabler. Funktionen h(x, y) = x2− y3+ x2y3 definieras i Maple p˚a f¨oljande s¨att:

h := (x,y) -> x^2-y^3+x^2*y^3;

Vad ger h(0,0); och h(3,2);?

Derivation

Derivator ber¨aknas med kommandot diff. Anv¨andningen framg˚ar ur exemplen diff(x^3+2*x^2,x);och diff(tan(x),x);

Andraderivator ber¨aknas enligt

diff(tan(x),x,x);

P˚a samma s¨att ber¨aknas derivator av h¨ogre ordning, d¨ar antalet x anger ordningen. F¨or detta finns ett kortare skrivs¨att. Ber¨akna fj¨ardederivatan av tan(x) genom att skriva

diff(tan(x),x$4);.

Prova ¨aven att f¨orenkla svaret med hj¨alp av factor(%);.

Vi kan ocks˚a derivera det tidigare definierade funktionsuttrycket f och funktionen g genom att skriva

diff(f,x); resp diff(g(x),x);

(5)

T¨ank ut vad som kommer ut ur kommandona

diff(f,y); , diff(g,x); , diff(g(y),y);

och prova om det st¨ammer.

Anm¨arkning. Maple har ocks˚a en derivationsoperator D, se ?D. Pr¨ova tex D(g);

och D(sin);.

Man kan ¨aven l¨att ber¨akna partiella derivator. Till exempel f˚ar man

∂h

∂x och ∂h

∂y f¨or funktionen h ovan genom kommandona

diff(h(x,y),x); resp diff(h(x,y),y);

H¨ogre derivator f˚as genom uppr¨akning av variabelnamnen. Pr¨ova t ex diff(h(x,y),x,y);

Integration

Med hj¨alp av kommandot int(f,x); kan man ber¨akna en primitiv funktion till funk- tionen f (x) med avseende p˚a x. Integrationskonstanten f˚ar man sedan sj¨alv l¨agga till om det skulle beh¨ovas. Pr¨ova

int(f,x); , int(g(x),x);

Repetera nu n˚agra enkla primitiva funktioner fr˚an envariabelanalysen: cos x (med kommandot int(cos(x),x);), et (skrivet exp(t)), och 1

√1 − z2 med avseende p˚a re- spektive variabel. Kvadratrotfunktionen skrivs i Maple som sqrt.

Om Maple inte kan n˚agon primitiv funktion, s˚a svarar Maple genom att ge tillbaka det man stoppat in. F¨ors¨ok med int(x^x,x); s˚a f˚ar du tillbaka

Z xxdx Anm¨arkningProva ocks˚a

Z r 1 − 2x2

1 − x2 dx och Z

ex2dx .

Dessa exempel visar att Maple k¨anner till fler primitiva funktioner ¨an de vanliga ele- ment¨ara funktionerna. Den f¨orsta av integralerna ¨ar exempel p˚a en s˚a kallad elliptisk integral. Vissa elliptiska integraler finns i Maple, se t ex ?EllipticE. I svaret p˚a den andra integralen ing˚ar den s˚a kallade ’error function’, erf, se l¨aroboken kapitel 4. Denna upptr¨ader bl a i samband med v¨armeledning och inom statistiken.

F¨or att ber¨akna best¨amda integraler, till exempel Z 3

−2

(x + 1)3dx

(6)

m˚aste ¨aven gr¨anserna anges. Detta g¨ors i Maple genom x=-2..3, eller allm¨ant x=a..b f¨or a ≤ x ≤ b. Detta har vissa likheter med Matlabs a:b, men fungerar b˚ade f¨or diskreta och kontinuerliga variabler. Integralen ovan ber¨aknas genom

int((x+1)^3,x=-2..3);.

Gr¨anserna f˚ar g¨arna inneh˚alla variabler, f¨ors¨ok t ex med int(f,x=-y..(z+1));.

Aven generaliserade integraler kan ber¨aknas. Prova t ex med¨

int(1/(1+x^2),x=0..infinity); och evalf(int(1/(1+x^2),x=0..infinity));

Se ¨aven vad som h¨ander med Int(1/(1+x^2),x=0..infinity);

Summation

Maple kan ocks˚a anv¨andas f¨or att ber¨akna summor. Syntaxen f¨or summation ¨ar naturlig, Pn

k=mak f˚as genom Maplekommandot sum(a(k),k=m..n).

Ber¨akna potenssummorna

n

X

k=1

k och

n

X

k=1

k2

med hj¨alp av kommandona sum(k,k=1..n); och sum(k^2,k=1..n);. F¨orenkla med simplify.

Aven vissa seriesummor kan Maple ber¨akna. Vad blir¨

X

k=1

1 k4 ? Ekvationsl¨osning

Maple kan anv¨andas f¨or att l¨osa ekvationer, se ?solve och ?fsolve. Prova de tre vari- anterna

solve(x^3+x^2+x-3=0,x);

fsolve(x^3+x^2+x-3=0,x);

fsolve(x^3+x^2+x-3=0,x,complex);

och l¨as om dem i hj¨alpfunktionen. Pr¨ova ocks˚a

solve(sin(x)=1/2,x);

Observera att i det senare fallet ger Maple i grundinst¨allning endast en l¨osning. Men skriv _EnvAllSolutions:=true; L¨os ekvationen sin x = 12 igen. Saknas n˚agra l¨osningar nu? F¨or polynomekvationer ger fsolve med optionen complex alla l¨osningar.

Differentialekvationer

Maple kan ocks˚a l¨osa differentialekvationer, se ?dsolve. Pr¨ova med att l¨osa y00+ λy = 0

med kommandot

dsolve(diff(y(x),x$2)+lambda*y(x)=0, y(x));

(7)

Grafik

Maple har omfattande grafiska m¨ojligheter.

Om du i forts¨attningen vill att Maples figurer hamnar i egna f¨onster (vilket kan vara l¨attare att hantera) s˚a g˚ar du in under menyn Options, v¨aljer Plot Display och sen Window.

Med kommandot plot ritar man tv˚adimensionella figurer i Maple, t ex funktions- kurvor. Se hj¨alpen till kommandona plot. Prova med

plot(sin(x),x=-Pi..Pi);

Axlarna skalas automatiskt s˚a att bilden fyller grafikf¨onstret maximalt. Om man vill ha samma skala p˚a b˚ada axlarna kan man g˚a in p˚a menyraden vid Projection och v¨alja Constrained. F¨or att rita flera kurvor i en figur anv¨ander man [ ]-parenteser ( ¨aven {}-parenteser fungerar). Pr¨ova

plot([sin(x),x-x^3/6],x=-Pi..Pi);

Vad ¨ar det f¨or speciellt med polynomet?

Man kan ocks˚a rita kurvor i parameterform, pr¨ova t ex

plot([cos(x),sin(x),x=-Pi..Pi],scaling=constrained);

Hur ser kurvan ut om scaling=constrained tas bort?

Antalet grafikf¨onster v¨axer snabbt. Man st¨anger dem man inte beh¨over genom att g˚a in rutan i v¨anstra ¨ovre h¨ornet i grafikf¨onstret m¨arkt med − och dra till Close.

Maples tredimensionella grafik har en m¨angd varianter som vi inte g˚ar in p˚a h¨ar. L¨as om dem i ?plot3d. Funktionsytan z = xex2y2 kan ritas med

plot3d(x*exp(-x^2-y^2),x=-2..2,y=-2..2);

Man kan vrida och v¨anda p˚a bilden genom att placera musmark¨oren i grafikf¨onstret och h˚alla v¨anster musknapp nere och flytta p˚a musen l˚angsamt.

Prova med hj¨alp av menyer de olika m¨ojligheterna f¨or ’axes’, ’color’ och ’style’.

Det g˚ar ocks˚a bra att beskriva ytor i parameterform. Cylindern y2 + z2 = 1 l¨angs x-axeln kan ritas med

plot3d([s,cos(t),sin(t)],s=-2..2,t=0..2*Pi);

V¨alj h¨ar Projection Constrained.

Maple har m˚anga fler grafikrutiner. F¨or att f˚a tillg˚ang till dessa g¨ors kommandona with(plots); och with(plottools); H¨ar ¨ar plots och plottools namnet p˚a ett s˚a kallat ’package’. Det finns ett antal s˚adana i Maple, f¨or olika anv¨andningar.

Spara och skriva ut

Man kan spara all text i Maple-f¨onstret genom att klicka p˚a File och Save as samt ange ett filnamn. Texten sparas d˚a i en fil med namnet filnamn.mws. N¨ar du senare vill ta fram texten igen klickar du p˚a File och Open och anger hela filnamnet, ¨aven .mws. Det g˚ar ocks˚a att samla alla kommandon i en scriptfil med ett enkelt namn, tex prov. F¨or att k¨ora scriptet skriver du i Maple-f¨onstret read prov;.

Om du vill ta ut en bild p˚a skrivare, kan du spara den i Post-Script format genom att klicka p˚a File och Print samt ange filnamn.ps.

(8)

2 Skal¨ arprodukter, normer och projektioner

Starta med att skriva restart; f¨or att ta bort gamla v¨arden p˚a f, g mm. Vi kommer att ber¨akna m˚anga skal¨arprodukter och det ¨ar d¨arf¨or l¨ampligt att definiera skal¨arprodukten som en funktion av tv˚a variabler f och g. L˚at oss kalla denna skal. Skriv

skal:=(f,g)->int(f*g*w,x=x0..x1);

Innan denna anv¨ands m˚aste man specificera viktsfunktionen w och integrationsgr¨anserna x0 och x1.

1. F¨orberedelser: Skriv upp formeln f¨or skal¨arprodukten (f | g) i L2([0, L]). Skriv koef- ficienterna ck i en ortogonalutveckling, P

kckϕk, med hj¨alp av skal¨arprodukter.

G¨or en cosinusutvecklingen av en funktion f (x) p˚a intervallet [0, L], v¨alj {ϕk(x)}0 = {cos kπx/L}0 och best¨am koefficientern med kommandot skal. Starta med att s¨atta

w:=1; x0:=0; x1:=L;

Tala d¨arefter om att k och j ¨ar heltal genom att skriva assume(k,integer, j, integer);.

Kontrollera ortogonaliteten genom att skriva

skal(cos(k*Pi*x/L),cos(j*Pi*x/L));

Pr¨ova ocks˚a fallet med j = k och speciellt j = k = 0. Definiera koefficienterna ck i cosinusutvecklingen som

c:=k->skal(cos(k*Pi*x/L),f(x))/skal(cos(k*Pi*x/L),cos(k*x*Pi/L));

Skriv c(k); f¨or att f˚a en integralformel f¨or ck. Unders¨ok speciellt c(0); (N¨ar det finns villkor p˚a k markerar Maple det med ett ∼ efter variabeln, se ?assume.)

Fr˚aga: Hur st¨ammer detta med formlerna f¨or koefficienterna i cosinusutvecklingen p˚a sidan 62 i boken? H¨ander n˚agot speciellt f¨or k = 0? I s˚a fall vad och varf¨or?

Testa svaret i ¨ovning 3.2 a) genom att v¨alja f (x) = x och L = 1. Avsluta med att

˚aterst¨alla k, j med k:=’k’; j:=’j’;.

2. Vi skall nu l¨osa uppgift H.22 i ¨ovningsh¨aftet med hj¨alp av Maple.

F¨orberedelser:Skriv upp formeln f¨or den skal¨arprodukt som skall anv¨andas i H.22 och ange w, x0 och x1. Skriv med hj¨alp av projektionsformeln upp en formel f¨or det s¨okta polynomet p. Uttryck koefficienterna med skal¨arprodukter och t¨ank efter vilka integraler som skall ber¨aknas f¨or att l¨osa uppgiften.

B¨orja med att skriva in viktsfunktion w och integrationsgr¨anserna x0 och x1. Defi- niera sen

L0:=1; L1:=1-x; L2:=x^2-4*x+2; f:=exp(-alpha*x);

Plotta de tre polynomen i samma figur (se sidan 7 i denna handledning). Kontrollera med hj¨alp av skal att de ¨ar ortogonala i L2((x0, x1), w).

Prova med att ber¨akna tex skal(L0,f);. Maple vill inte ber¨akna integralen (var- f¨or?). Man m˚aste st¨alla krav p˚a α f¨or att integralen skall vara konvergent. Skriv d¨arf¨or

assume(alpha>-1/2);

(9)

Kan du ber¨akna skal(L0,f); nu? Ber¨akna koefficienterna c0, c1, c2 , t ex c0:=skal(L0,f)/skal(L0,L0);

Ber¨akna sedan p = c0L0+ c1L1+ c2L2 genom att skriva p:=c0*L0+c1*L1+c2*L2;

Plotta funktionen och approximationen f¨or n˚agra olika v¨arden p˚a α, tex

plot(subs(alpha=1,[f,p]),x=0..10, color=[red,blue], thickness=2);

Fr˚aga: I vilken mening ¨ar p en bra approximation av eαx? F¨or att undvika problem senare, ta bort villkoret p˚a α med

alpha:=’alpha’;

3 Ortogonalpolynom

I Maple finns flera typer av ortogonalpolynom i ett s¨arskilt package. F¨or att f˚a tillg˚ang till dem, skriv

with(orthopoly);

3. Kontrollera med hj¨alpfunktionen att de ortogonalpolynom som finns n¨amnda i l¨aroboken sid 271–273 ocks˚a finns i Maple. F¨or att f˚a ett explicit uttryck f¨or t ex Legendrepolynomet P4 skriver man P(4,x); och f¨or att f˚a Laguerrepolynymet L2 skriver man L(2,x);.

J¨amf¨or Maples Laguerrepolynom med de som finns i ¨ovn H.22? Finns n˚agon skillnad?

Ber¨akna n˚agra skal¨arprodukter med skal, t ex skal(L(2,x),L(2,x));. Kommentar?

Plotta n˚agra ortogonalpolynom, t ex

plot([P(3,x),P(4,x),P(5,x)],x=-1..1);

Detta kan ocks˚a skrivas plot([P(n,x)$n=3..5],x=-1..1); Kan man med hj¨alp av fi- gurerna avg¨ora om det ¨ar rimligt att polynomen ¨ar ortogonala? Detta ¨ar l¨attare att bed¨oma om man tittar p˚a produkterna P4P5 och P3P5, i intervallet [−1, 1]. Unders¨ok ortogonaliteten med hj¨alp av skal. (T¨ank p˚a att f¨orst ange r¨att viktsfunktion och integ- rationsgr¨anser.)

4. Utveckla funktionen f = sin(10x) med avseende p˚a Legendrepolynom ¨over intervallet

−1 ≤ x ≤ 1. S¨att

f:=sin(10*x);

H¨ar ¨ar det praktiskt att definiera koefficienterna i ortogonalutvecklingen som en funktion av k,

c:=k->skal(P(k,x),f)/skal(P(k,x),P(k,x));

Sedan kan delsumman qn av ortogonalutvecklingen skrivas

(10)

q:=n->sum(c(k)*P(k,x),k=0..n);

Plotta sen f och delsummor qn samma diagram med t ex plot([f,q(5)],x=-1..1);

f¨or n˚agra olika v¨arden p˚a n, t ex n = 5, 7, 11, 13. Titta p˚a storleken av koefficien- terna f¨or n˚agra v¨arden p˚a n, t ex evalf(c(10));, evalf(c(11));, evalf(c(20));, evalf(c(21));.

G¨or samma med sin(10x) utbytt mot stegfunktionen f:=Heaviside(x);. Tag n = 5, 11, 25. Observera att liksom f¨or Fourierserier uppkommer h¨ar ett Gibbs-fenomen. Titta p˚a storleken av koefficienterna med evalf.

Fr˚aga:Kan man g¨ora n˚agra iaktagelser om koefficienternas storlek i de b˚ada fallen?

5. F¨orberedelse: Skriv upp definitionen p˚a egenv¨arde och egenfunktion till en differen- tialoperator A.

Kontrollera att Legendrepolynomen ¨ar egenfunktioner till Legendres differentialoperator

− d

dx(1 − x2) d

dx. Skriv

d:=n->-diff((1-x^2)*diff(P(n,x),x),x)/P(n,x);

Skriv sen exempelvis

d(5);

och f¨orenkla d¨arefter med simplify(%); Pr¨ova med n˚agra olika v¨arden p˚a n, t ex 6, 7, 8, 10, 20.

Fr˚aga: Vad har detta med egenv¨arden att g¨ora? Vad ¨ar egenv¨ardena uttryckta i n?

St¨ammer detta med teorin? (J¨amf¨or sats S.4 sidan 340 i l¨aroboken.)

4 Besselfunktioner

6. Besselfunktionerna Jνoch Yνfinns naturligtvis i Maple, d¨ar de anropas med BesselJ(n,k);

resp BesselY(n,k);, se ?Bessel. ¨Aven nollst¨allena till Besselfunktionena finns i Maple.

De f˚as med kommandot BesselJZeros(n,k);. F¨or att slippa skriva s˚a mycket kan det vara praktiskt att inf¨ora kortare beteckningar, t ex

alias(J=BesselJ, Y=BesselY, alpha=BesselJZeros);

Rita n˚agra grafer, tex med plot([J(n,x)$n=0..5],x=0..15);. Man kan ocks˚a uppfatta Jν(x) som en funktion av ν och x och rita en tredimensionell bild med

plot3d(J(v,x),x=0..10,v=0..10);

och vrida och v¨anda p˚a denna. L¨agg in l¨ampliga axlar.

Med kommandot matrix(10,9,(k,n)->evalf(alpha(n-1,k))); genereras en mas- sa nollst¨allen. J¨amf¨or med tabellen i formelsamlingen.

(11)

7. Pr¨ova om Maple klarar ¨ovning S.11. (H¨ar beh¨over man anv¨anda simplify.)

8. Maple kan m˚anga formler f¨or Besselfunktioner. Pr¨ova att ber¨akna Jν0(x). Pr¨ova ocks˚a att uttrycka J1/2(x), J3/2(x), Y1/2(x) med element¨ara funktioner. T¨ank p˚a att skriva J(3/2,x), inte J(1.5,x).

9. Extrauppgift. L¨os Bessels differentialekvation u00(x) + 1

xu0(x) + (λ − ν2

x2)u(x) = 0

med dsolve (j¨amf¨or sidan 6 i denna handledning). H¨ar m˚aste du sj¨alv t¨anka p˚a att unders¨oka fallen λ = 0 och λ = 0, ν = 0. (J¨amf¨or lemma S.1 (sid 333) och ¨ovn S.13.) L¨os ¨aven differentialekvationen

u00(x) + 2

xu0(x) + (λ − `(` + 1)

x2 )u(x) = 0 .

(J¨amf¨or (20) sid 340 och ¨ovning S.18.) Pr¨ova speciellt ` = 0. Gl¨om inte fallet λ = 0.

10. F¨orberedelse: Repetera exemel S.3, sidan 334 i boken. Enligt detta exempel ¨ar Bes- selfunktionerna J00kr) egenfunktioner till den singul¨ara Sturm-Liouvilleoperatorn

Au = −1 r(ru0)0

DA=u ∈ C2[0, 1] | u begr¨ansad n¨ara 0, u(1) = 0 . Ange en skal¨arprodukt i vilken funktionernaJ00kr) ¨ar ortogonala.

Skriv in r¨att viktsfunktion och intervallgr¨anser. (T¨ank p˚a att variabeln heter x i kom- mandot skal.) Kontrollera ortogonaliteten mellan J00kr) f¨or n˚agra olika k-v¨arden med hj¨alp av skal. Plotta ocks˚a produkten J00kr)J00mr)w(r), d¨ar w ¨ar viktsfunktionen,

¨over intervallet [0, 1].

G¨or motsvarande unders¨okning f¨or n˚agra Besselfunktioner Jn med n > 0. Slutsats?

11. Titta p˚a tredimensionella bilder av egenfunktionerna Jnnkr) cos(nθ) till Laplaceo- peratorn med Dirichletvillkor i pol¨ara koordinater (exempel S.4 sid 335–337) f¨or n˚agra olika v¨arden p˚a n och k. F¨or n = 2, k = 1 kan man skriva

plot3d([r*cos(v),r*sin(v),J(2,alpha(2,1)*r)*cos(2*v)],r=0..1,v=0..2*Pi);

Fast insp¨anda cirkul¨ara membran (se exempel 3.14 sid 108) har sv¨angningsmoder av typ

unk = Jnnkr) cos nθ sin cαnkt .

S˚adana sv¨angningsmoder kan man se r¨ora sig i Maple med hj¨alp av kommandot animate3d.

Detta f˚ar man tillg˚ang till om man skriver

with(plots);

F¨or att se membranet sv¨anga i fallet n = 2, k = 1, och med c vald s˚a att cαnk = 1, kan man skriva

(12)

animate3d([r*cos(v),r*sin(v),J(2,alpha(2,1)*r)*cos(2*v)*sin(t)], r=0..1,v=0..2*Pi,t=0..2*Pi);

Filmen startas och styrs fr˚an menyraden (starta genom att klicka p˚a rutan m¨arkt I).

Genom att klicka p˚a l¨amplig knapp kan man f˚a den att g˚a oavbrutet. Titta p˚a sv¨ang- ningsmoder f¨or n˚agra andra v¨arden p˚a n och k. Man kan f˚a en j¨amnare r¨orelse genom att ¨oka antalet indeningspunkter i tids- eller rumsled, se ?animate.

Vill man titta p˚a ett membran som inte ¨ar fast insp¨ant, utan kan r¨ora sig fritt p˚a randen, p˚a s˚a s¨att att det uppfyller ett homogent Neumannvillkor, s˚a kan man byta αnk mot α0nk (nollst¨allen till Jn0). Dessa kan h¨amtas tabellen i formelsamlingen eller f˚as med fsolve. Pr¨ova t ex

fsolve(diff(J(1,x),x)=0,x=1..3);

H¨ar har vi angivit i vilket intervall det s¨okta nollst¨allet ligger. F¨or att kunna g¨ora detta

¨ar det l¨ampligt att plotta funktionen J10.

12. Extrauppgift:Utveckla funktionen f (x) = x, 0 < x < 1 i den ortogonala basen J00kx).

Plotta delsummor SN och funktionen f i samma diagram f¨or n˚agra olika v¨arden p˚a N . G¨or sedan samma sak med f (x) = 1 − x. M¨arks n˚agon skillnad? Vad kan det bero p˚a?

F¨orberedelser:

Skriv upp formeln f¨or skal¨arprodukt i L2([0, L]): (f |g) =

Antag att ortogonalutveckligen f =P

k=1ckϕk g¨aller. Beskriv Fourierkoefficienterna ck med hj¨alp av skal¨arprodukt: ck =

H.22Laguerrepolynomen Ln(x) ¨ar ortogonala i L2(I, w), d¨ar I = [0, ∞) och w(x) = ex. De tre f¨orsta ¨ar

L0(x) = 1, L1(x) = 1 − x, L2(x) = x2− 4x + 2.

Best¨am med hj¨alp h¨arav det polynom p = pα av andra graden som minimerar integralen Z

0

(eαx− p(x))2exdx, d¨ar konstanten α > −1/2.

Skriv upp en anv¨andbar skal¨arprodukt: (f |g) =

Skriv med projektionsformeln upp en formel f¨or p:

References

Related documents

Visa att det finns en och samma vektor (olika nollvektorn) som ligger i alla

Hubert tjänar 400 kr mindre än Gunnar och Ivar tjänar 3000 kr mer än Hubert per månad.. I sin plånbok har Anette bara tjugolappar

[r]

[r]

La problemática del abuso de drogas y alcohol en los años noventa está muy unida con la vida nocturna en una metrópolis, pero también como resultado de depresiones de

Där bostadsbebyggelsen ska stå kommer det att bli en hårddjord yta, men det kommer bli mer växtlighet på den resterande ytan, eftersom planbestämmelsen ändras från torg till

2845.. Ett av nedanstående alternativ är det rätta värdet. a) Ange en följd av 10 konsekutiva positiva heltal som inte inne- håller något primtal... b) Visa att för varje

13 kap 10 § - Beslut om förvärv eller överlåtelse av den omyndiges fasta egendom eller nyttjanderätt till sådan egendom ävensom upplåtande av nyttjanderätt, panträtt m.m..