TKK, Matematiska institutionen Gripenberg Mat

TKK, Matematiska institutionen
Mat-1.1532 Grundkurs i matematik 3-II
Övning D2
22.11.2007
Gripenberg
P
1 2
1 n
1. Låt A =
. Beräkna eA med funktionen expm. Räkna 20
n=0 n! A t.ex. på följande
0 −1
sätt:
B=eye(2); C=eye(2);
for n=1:20, C=C*A/n;B=B+C;end
Hur liten kan du få skillnaden mellan expm(A) och B att vara genom att byta ut talet 20 mot
ett större tal?
Av vad kan man direkt se att exp(A) räknar något annat (dvs. matrisen med elementen eA(j,k))?
2. Undersök om man genom att slumpmässigt välja matriser A och B med funktionen rand
eller randn (dvs. A = randn(3,3); B=randn(3,3)) hittar sådana matriser att eA+B är
lika med eA eB , (räkna expm(A+B)-expm(A)*expm(B)).
Får man på detta sätt matriser A och B så att eA+B är lika med eA eB ?
α
α−1
3. Undersök numeriskt hur lösningarna till differentialekvationssystemet Y (t) =
Y (t)
α+1
α
uppför sig för olika värden av α (t.ex., α = ±1.5, α = ±0.5 och α = 0). Använd funktionen
ode45 t.ex. på följande sätt då α = 0.5:
fun=inline(’[0.5 -0.5 ; 1.5 0.5]*y’,’t’,’y’);
[t,y]=ode45(fun,[0,10],[1;1]);
plot(y(:,1),y(:,2))
Du kan√också använda något annat tidsintervall än [0, 10]. Observera att matrisens egenvärden
är α ± α2 − 1.
För vilka värden av α går lösningen mot origo?
′
−10 18
4. Undersök numeriskt lösningen till differentialekvationssystemet Y (t) =
Y (t),
−6 11
2
Y (0) =
uppför sig för olika intervall [0, T ]. Använd funktionen ode45 t.ex. på följande
1
sätt:
fun=inline(’[-10 18 ; -6 11]*y’,’t’,’y’);
[t,y]=ode45(fun,[0,10],[2;1]);
plot(y(:,1),y(:,2))
−t 2e
Lösningen till ekvationssystemet är Y (t) = −t .
e
′
För vilka värden på T får man ungefär rätt lösning på intervallet [0, T ]?
Varför blir det problem med lösningen på längre intervall?
5. Lös ekvationssystemet
y1′ (t) = −y1 (t) + t,
y2′ (t) = −1000y2(t).
med hjälp av ode45 först med begynnelsevärden y1 (0) = 1, y2 (0) = 0 och sedan y1 (0) = 0,
y2 (0) = 1, t.ex så här:
fun =inline(’[-y(1)+t;-1000*y(2)]’,’t’,’y’);
[t,y]=ode45(fun,[0,10],[1;0]);
Uppskatta hur många steg algoritmen räknar i de båda fallen genom att jämföra hur matriserna
t och y är, (använd size(t)).
Lösningarna är förstås y1 (t) = e−t (y1 (0) + 1) + t − 1 och y2 (t) = y2 (0)e−1000t så y2 går
mycket snabbt ner till nästan 0.
Går det i det senare fallet bättre om man använder funktionen ode15s?
6. Bestäm numeriskt de tal λ för vilka lösningen till ekvationen y ′′(x) + λy(x) = 0,
′
y(0)
= 0, y ′(0) = 1 uppfyller
villkoret y(1) = 0. Skriv ekvationen som ett system Y (x) =
0 1
0
Y (x), Y (0) =
.
−λ 0
1
Vilket är det minsta talet λ för vilket detta lyckas?
Är det enklare at lösa problemet analytiskt?
7. Lös numeriskt differentialekvationssystemet
q
y1 y2
′
y1 = (1 − y12 + y22 )y1 − y2 + p 2
,
y1 + y22
q
y2
′
y2 = (1 − y12 + y22 )y2 + y1 − p 2 1 2 .
y1 + y2
med olika initialvärden som inte är y1 (0) = y2 (0) = 0 och rita upp lösningarna.
y1 (t)
1
y1 (0)
0
Ser det ut som om limt→∞
=
om
6=
?
y2 (t)
0
y2 (0)
0
1
Är
en stabil jämviktspunkt för differentialekvationssystemet, dvs. finns det för varje ǫ > 0
0
y1 (0)
y1 (t)
1
1 < δ så är < ǫ för alla t ≥ 0?
ett tal δ > 0 så att om −
−
y2 (0)
y2 (t)
0 0