Ingemar Nåsell, Institutionen för Matematik, KTH, 001114.
Problem 7.7.3 i Boyce och diPrima.
Börja med att nollställa Maple och läsa in programmet DEplot i minnet. Detta program ligger i paketet DEtools.
Vi läser också in programmen eigenvects och matrix som ligger i paketet linalg.
> restart; with(DEtools,DEplot); with(linalg,eigenvects,matrix);
Matrisen A definieras:
> A:=matrix([[-3/2,1],[-1/4,-1/2]]);
Egenvärden och egenvektorer till matrisen A bestäms:
> eg:=eigenvects(A);
Vi ser att matrisen A har endast ett egenvärden, -1, och att det har multipliciteten 2. Endast en egenvektor finnes, varför egenvärdet är defekt.
De två ekvationerna i detta problem ges namnen ekv1 och ekv2:
>
ekv1:=D(x1)(t)=-(3/2)*x1(t)+x2(t);
ekv2:=D(x2)(t)=-(1/4)*x1(t)-(1/2)*x2(t);
Riktningsfältet ritas med hjälp av kommandot DEplot:
> DEplot([ekv1,ekv2], [x1,x2], t=0..1, x1=-1..1, x2=-1..1);
Vi ritar ett antal banor. En bana är en projektion på fasplanet, d.v.s. på x1-x2-planet, av en lösningskurva (x1(t), x2(t)). Observera att vi behöver tre dimensioner för att rita en lösningskurva, men endast två för att rita en bana. Vi väljer ett antal initialpunkter för lösningsbanor:
> init1:=seq([x1(0)=-1,x2(0)=0.5*k],k=-2..2);
> init2:=seq([x1(0)=1,x2(0)=k*0.5],k=-2..2);
> init3:=seq([x1(0)=0.5*k, x2(0)=1],k=0..1);
> init4:=seq([x1(0)=0.5*k,x2(0)=-1],k=-1..0);
> init:=[init1,init2,init3,init4]:
> DEplot([ekv1,ekv2], [x1,x2], t=0..4, init, x1=-1..1, x2=-1..1, thickness=1, linecolor=red, arrows=none );