Uppgift 5.6: 26 (Inhomogen ekvation) 

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

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

Matrix(%id = 4972888) (6.1)
 

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

Vector[column](%id = 7322052) (6.2)
 

Högerledet. 

`:=`(f, proc (t) options operator, arrow; Vector(2, {(1) = `+`(`*`(4, `*`(cos(t)))), (2) = `+`(`*`(6, `*`(sin(t))))}) end proc) 

proc (t) options operator, arrow; Vector(2, {1 = `+`(`*`(4, `*`(cos(args[1])))), 2 = `+`(`*`(6, `*`(sin(args[1]))))}) end proc (6.3)
 

`:=`(X, proc (t) options operator, arrow; MatrixExponential(`*`(t, `*`(P))) end proc) 

proc (t) options operator, arrow; LinearAlgebra:-MatrixExponential(`*`(t, `*`(P))) end proc (6.4)
 

Lösningen till den homogena ekvationen med givna begynnelsedata blir 

`:=`(x[hom], Typesetting:-delayDotProduct(X(t), b)) 

Vector[column](%id = 3623048) (6.5)
 

För att integrera vektorvärda funktioner använder vi map 

`:=`(y, map(int, Typesetting:-delayDotProduct(X(`+`(`-`(tau))), f(tau)), tau = 0 .. t)) 

Vector[column](%id = 6817512) (6.6)
 

`:=`(x[part], Typesetting:-delayDotProduct(X(t), y)) 

Vector[column](%id = 7951892)
Vector[column](%id = 7951892)
Vector[column](%id = 7951892)
Vector[column](%id = 7951892)
(6.7)
 

`:=`(x[part], simplify(x[part])) 

Vector[column](%id = 2937140) (6.8)
 

Den kompletta lösningen blir därmed summan av homogen- och partikulärlösningen. 

`:=`(x, `+`(x[hom], x[part])) 

Vector[column](%id = 7343032) (6.9)
 

plot(x, t = 0 .. `+`(`*`(8, `*`(Pi))), thickness = 2) 

Plot_2d