new method for solving LDEs
- Subject: new method for solving LDEs
- From: dfdfh dfhdfhdf
- Date: Tue, 21 Dec 2010 17:15:20 +0200 (EET)
(%i1) L(p,f,m):=(fpprec:m, b:bfallroots(p), n:length(b), f:f/coeff(p,s,n),for k thru n do
(q:exp(rat(rhs(b[k]))*t),f:trigrat(q*(integrate(f/q,t)+c[k]))), f:expand(bfloat(f)))$
L(p,f,m) solves LDE: An.d^n[y(t)]/dt^n+An-1.d^n-1[y(t)]/dt^n-1+...+A1.d[y(t)]/dt+A0.y(t)=f(t)
f=f(t): known function of t, A0,...,An: known constants, y(t): wanted function of t
p=p(s)=An.s^n+An-1.s^n-1+...+A1.s+A0: characteristic polynomial, m: precision of calculations
(%i2) y:L(s^2+3*s+2,t*sin(t),7)
/* LDE is: d^2[y(t)]/dt^2+3.d[y(t)]/dt+2.y(t)=t.sin(t) */;
`rat' replaced -1.0B0 by -1/1 = -1.0B0
`rat' replaced -2.0B0 by -2/1 = -2.0B0
(%o2) 1.0b-1*t*sin(t)+1.2b-1*sin(t)-3.0b-1*t*cos(t)+3.4b-1*cos(t)+1.0b0*c[1]*%e^(-1.0b0*t)+1.0b0*c[2]*%e^(-2.0b0*t)
Solution is: y(t)=0,1.t.sin(t)+0,12.sin(t)-0,3.t.cos(t)+0,34.cos(t)+c1.exp(-t)+c2.exp(-2.t)
(%i3) check(p,y):=ratexpand(sum(coeff(p,s,k)*diff(y,t,k),k,0,hipow(p,s)))$
(%i4) check(s^2+3*s+2,y)
/* This checks if d^2[y(t)]/dt^2+3.d[y(t)]/dt+2.y(t) is equal to t.sin(t) */;
`rat' replaced 4.0B0 by 4/1 = 4.0B0
`rat' replaced 1.0B0 by 1/1 = 1.0B0
`rat' replaced -1.4B-1 by -7/50 = -1.4B-1
`rat' replaced 3.0B-1 by 3/10 = 3.0B-1
`rat' replaced 4.8B-1 by 12/25 = 4.8B-1
`rat' replaced -1.0B-1 by -1/10 = -1.0B-1
`rat' replaced 1.0B0 by 1/1 = 1.0B0
`rat' replaced 1.0B0 by 1/1 = 1.0B0
`rat' replaced 3.4B-1 by 17/50 = 3.4B-1
`rat' replaced -3.0B-1 by -3/10 = -3.0B-1
`rat' replaced 1.2B-1 by 3/25 = 1.2B-1
`rat' replaced 1.0B-1 by 1/10 = 1.0B-1
`rat' replaced -2.0B0 by -2/1 = -2.0B0
`rat' replaced -1.0B0 by -1/1 = -1.0B0
`rat' replaced -1.8B-1 by -786436/4369089 = -1.8B-1
`rat' replaced 1.0B-1 by 1/10 = 1.0B-1
`rat' replaced -2.4B-1 by -6/25 = -2.4B-1
`rat' replaced 3.0B-1 by 3/10 = 3.0B-1
(%o4) t*sin(t)+cos(t)/72818150
This is not exactly t.sin(t) because of rounding mistakes, but cos(t)/72818150 is negligible.
(%i5) L(s^12+3*s+2,t*sin(t)*exp(t),3)
/* LDE is: d^12[y(t)]/dt^12+3.d[y(t)]/dt+2.y(t)=t.sin(t).exp(t) */;
`rat' replaced 7.72B-1 by 44/57 = 7.72B-1
`rat' replaced 8.45B-1 by 207/245 = 8.45B-1
`rat' replaced 7.72B-1 by 44/57 = 7.72B-1
`rat' replaced -8.45B-1 by -207/245 = -8.45B-1
`rat' replaced -6.23B-1 by -33/53 = -6.23B-1
`rat' replaced -1.02B0 by -59/58 = -1.02B0
`rat' replaced 1.14B0 by 129/113 = 1.14B0
`rat' replaced 2.8B-1 by 33/118 = 2.8B-1
`rat' replaced 1.14B0 by 129/113 = 1.14B0
`rat' replaced -2.8B-1 by -33/118 = -2.8B-1
`rat' replaced 4.17B-1 by 53/127 = 4.17B-1
`rat' replaced 1.11B0 by 49/44 = 1.11B0
`rat' replaced 4.17B-1 by 53/127 = 4.17B-1
`rat' replaced -1.11B0 by -49/44 = -1.11B0
`rat' replaced -1.11B0 by -52/47 = -1.11B0
`rat' replaced 6.63B-1 by 63/95 = 6.63B-1
`rat' replaced -1.11B0 by -52/47 = -1.11B0
`rat' replaced -6.63B-1 by -63/95 = -6.63B-1
`rat' replaced -4.05B-1 by -17/42 = -4.05B-1
`rat' replaced 1.3B0 by 43/33 = 1.3B0
`rat' replaced -4.05B-1 by -17/42 = -4.05B-1
`rat' replaced -1.3B0 by -43/33 = -1.3B0
(%o5) -1.0b0*%i*c[12]*%e^(-4.05b-1*t)*sin(1.3b0*t)+3.84b-1*c[11]*%e^(-4.05b-1*t)*sin(1.3b0*t)+1.0b0*c[12]*%e^(-4.05b-1*t)*cos(1.3b0*t)-3.84b-1*%i*c[11]*%e^(-4.05b-1*t)*cos(1.3b0*t)+7.0b-2*%i*c[8]*%e^(4.18b-1*t)*sin(1.11b0*t)+1.03b-1*c[8]*%e^(4.18b-1*t)*sin(1.11b0*t)-4.64b-2*%i*c[7]*%e^(4.18b-1*t)*sin(1.11b0*t)-3.14b-2*c[7]*%e^(4.18b-1*t)*sin(1.11b0*t)+1.03b-1*%i*c[8]*%e^(4.18b-1*t)*cos(1.11b0*t)-7.0b-2*c[8]*%e^(4.18b-1*t)*cos(1.11b0*t)+3.14b-2*%i*c[7]*%e^(4.18b-1*t)*cos(1.11b0*t)-4.64b-2*c[7]*%e^(4.18b-1*t)*cos(1.11b0*t)-1.8b-2*%i*c[2]*%e^(7.73b-1*t)*sin(8.45b-1*t)+2.54b-2*c[2]*%e^(7.73b-1*t)*sin(8.45b-1*t)-1.51b-2*%i*c[1]*%e^(7.73b-1*t)*sin(8.45b-1*t)+1.06b-2*c[1]*%e^(7.73b-1*t)*sin(8.45b-1*t)+2.54b-2*%i*c[2]*%e^(7.73b-1*t)*cos(8.45b-1*t)+1.8b-2*c[2]*%e^(7.73b-1*t)*cos(8.45b-1*t)-1.06b-2*%i*c[1]*%e^(7.73b-1*t)*cos(8.45b-1*t)-1.51b-2*c[1]*%e^(7.73b-1*t)*cos(8.45b-1*t)-4.45b-1*%i*c[10]*%e^(-1.11b0*t)*sin(6.63b-1*t)-2.37b-1*c[10]*%e^(-1.11b0*t)*sin(6.63b-1*t)+1.79b-1*%i*c[9]*%e
^(-1.11b0*t)*sin(6.63b-1*t)+3.36b-1*c[9]*%e^(-1.11b0*t)*sin(6.63b-1*t)-2.37b-1*%i*c[10]*%e^(-1.11b0*t)*cos(6.63b-1*t)+4.45b-1*c[10]*%e^(-1.11b0*t)*cos(6.63b-1*t)-3.36b-1*%i*c[9]*%e^(-1.11b0*t)*cos(6.63b-1*t)+1.79b-1*c[9]*%e^(-1.11b0*t)*cos(6.63b-1*t)-1.97b-2*%i*c[6]*%e^(1.14b0*t)*sin(2.8b-1*t)+1.58b-2*c[6]*%e^(1.14b0*t)*sin(2.8b-1*t)-2.83b-2*%i*c[5]*%e^(1.14b0*t)*sin(2.8b-1*t)+3.52b-2*c[5]*%e^(1.14b0*t)*sin(2.8b-1*t)+1.58b-2*%i*c[6]*%e^(1.14b0*t)*cos(2.8b-1*t)+1.97b-2*c[6]*%e^(1.14b0*t)*cos(2.8b-1*t)-3.52b-2*%i*c[5]*%e^(1.14b0*t)*cos(2.8b-1*t)-2.83b-2*c[5]*%e^(1.14b0*t)*cos(2.8b-1*t)-1.64b-2*t*%e^(1.0b0*t)*sin(t)+1.31b-1*%e^(1.0b0*t)*sin(t)-2.89b-3*t*%e^(1.0b0*t)*cos(t)-7.4b-2*%e^(1.0b0*t)*cos(t)+2.91b-1*c[3]*%e^(-6.23b-1*t)+6.89b-2*c[4]*%e^(-1.02b0*t)