Uppgift 5.2: 49 (Tre varianter) 

Lösning 1. 

restart; -1; with(LinearAlgebra); -1 

`:=`(P, Matrix(%id = 22109464)) 

(4.1)
 

`:=`(lambda, T, Eigenvectors(P)) 

(4.2)
 

`:=`(v, Transpose(T)); -1 

`:=`(x, Transpose(add(`*`(c[j], `*`(exp(`*`(t, `*`(lambda[j]))), `*`(v[j]))), j = 1 .. 5))) 

(4.3)
 

Begynnelsedata som jag själv hittat pÃ¥. Sedan gör man som i föregÃ¥ende uppgift. 

`:=`(b, Vector[column](%id = 6783268)) 

(4.4)
 

`:=`(eq, {seq(eval(x[j], t = 0) = b[j], j = 1 .. 5)}) 

{`+`(`*`(2, `*`(c[1])), c[3], c[5]) = 1, `+`(`*`(5, `*`(c[1])), c[3], `*`(3, `*`(c[5]))) = 3, `+`(c[2], `*`(7, `*`(c[3])), `*`(3, `*`(c[4]))) = 2, `+`(c[1], c[2], c[3], c[4], c[5]) = 5, `+`(`*`(2, `*`...
{`+`(`*`(2, `*`(c[1])), c[3], c[5]) = 1, `+`(`*`(5, `*`(c[1])), c[3], `*`(3, `*`(c[5]))) = 3, `+`(c[2], `*`(7, `*`(c[3])), `*`(3, `*`(c[4]))) = 2, `+`(c[1], c[2], c[3], c[4], c[5]) = 5, `+`(`*`(2, `*`...
(4.5)
 

`:=`(const, solve(eq)) 

{c[1] = 2, c[2] = `/`(9, 2), c[3] = -1, c[4] = `/`(3, 2), c[5] = -2} (4.6)
 

`:=`(y, map(eval, x, const)) 

(4.7)
 

plot(y, t = -.1 .. .1, thickness = 2) 

Plot_2d
 

Lösning 2. (Exponentialmatrisen via basbyte) 

Basbytet förmedlas av matrisen T med egenvektorerna till P som kolumner. Vi kontrollerar att produkten T-1PT ger en diagonalmatris med egenvärdena i huvuddiagonalen. 

Typesetting:-delayDotProduct(Typesetting:-delayDotProduct(`/`(1, `*`(T)), P), T) 

(4.8)
 

Exponentialmatrisen i egenvektorbasen ges av diagonalmatrisen 

`:=`(E, DiagonalMatrix(map(exp, `*`(t, `*`(lambda))))) 

(4.9)
 

Exponentialmatrisen blir 

`:=`(Y, Typesetting:-delayDotProduct(Typesetting:-delayDotProduct(T, E), `/`(1, `*`(T)))) 












(4.10)
 

Som sedan ger lösningen med givna begynnelsedata som produkten . Kom ihÃ¥g att b mÃ¥ste vara en kolumnvektor för att .(dot)-produkten skall vara definierad 

`:=`(y, Typesetting:-delayDotProduct(Y, b)) 

(4.11)
 

plot(y, t = -.1 .. .1, thickness = 2) 

Plot_2d
 

Lösning 3. (Maple sköter allt) 

Enklast är förstÃ¥s att lÃ¥ta maple beräkna exponentialmatrisen direkt. 

`:=`(Y, MatrixExponential(`*`(t, `*`(P)))); -1 

`:=`(y, Typesetting:-delayDotProduct(Y, b)); -1 

plot(y, t = -.1 .. .1, thickness = 2) 

Plot_2d