1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801 |
- Tue Feb 10 12:28:22 2004 run on Linux
- % Title: Examples of Laplace Transforms.
- % Author: L. Kazasov.
- % Date: 24 October 1988.
- order p;
- % Elementary functions with argument k*x, where x is object var.
- laplace(1,x,p);
- 1
- ---
- p
- laplace(c,x,p);
- c
- ---
- p
- laplace(sin(k*x),x,p);
- k
- ---------
- 2 2
- p + k
- laplace(sin(x/a),x,p);
- a
- -----------
- 2 2
- p *a + 1
- laplace(sin(17*x),x,p);
- 17
- ----------
- 2
- p + 289
- laplace(sinh x,x,p);
- 1
- --------
- 2
- p - 1
- laplace(cosh(k*x),x,p);
- - p
- ------------
- 2 2
- - p + k
- laplace(x,x,p);
- 1
- ----
- 2
- p
- laplace(x**3,x,p);
- 6
- ----
- 4
- p
- off mcd;
- laplace(e**(c*x) + a**x, x, s);
- -1 -1
- - ((log(a) - s) + (c - s) )
- laplace(e**x - e**(a*x) + x**2, x, p);
- -3 -1 -1
- 2*p + ( - p + a) + (p - 1)
- laplace(one(k*t) + sin(a*t) - cos(b*t) - e**t, t, p);
- 2 2 -1 -1 2 2 -1 -1
- - p*(p + b ) + p + (p + a ) *a - (p - 1)
- laplace(sqrt(x),x,p);
- - 3/2
- 1/2*sqrt(pi)*p
- laplace(x**(1/2),x,p);
- - 3/2
- 1/2*sqrt(pi)*p
- on mcd;
- laplace(x**(-1/2),x,p);
- sqrt(pi)
- ----------
- sqrt(p)
- laplace(x**(5/2),x,p);
- 15*sqrt(pi)
- --------------
- 3
- 8*sqrt(p)*p
- laplace(-1/4*x**2*c*sqrt(x), x, p);
- - 15*sqrt(pi)*c
- ------------------
- 3
- 32*sqrt(p)*p
- % Elementary functions with argument k*x - tau,
- % where k>0, tau>=0, x is object var.
- laplace(cos(x-a),x,p);
- p
- ---------------
- p*a 2
- e *(p + 1)
- laplace(one(k*x-tau),x,p);
- 1
- --------------
- (p*tau)/k
- e *p
- laplace(sinh(k*x-tau),x,p);
- - k
- -------------------------
- (p*tau)/k 2 2
- e *( - p + k )
- laplace(sinh(k*x),x,p);
- - k
- ------------
- 2 2
- - p + k
- laplace((a*x-b)**c,x,p);
- c
- a *gamma(c + 1)
- -----------------
- c (p*b)/a
- p *e *p
- % But ...
- off mcd;
- laplace((a*x-b)**2,x,p);
- -3 2 2 2
- p *(p *b - 2*p*a*b + 2*a )
- on mcd;
- laplace(sin(2*x-3),x,p);
- 2
- -------------------
- (3*p)/2 2
- e *(p + 4)
- on lmon;
- laplace(sin(2*x-3),x,p);
- 2
- -------------------
- (3*p)/2 2
- e *(p + 4)
- off lmon;
- off mcd;
- laplace(cosh(t-a) - sin(3*t-5), t, p);
- - p*a 2 -1 - 5/3*p 2 -1
- e *p*(p - 1) - 3*e *(p + 9)
- on mcd;
- % More complicated examples - multiplication of functions.
- % We use here on lmon - a new switch that forces all
- % trigonometrical functions which depend on object var
- % to be represented as exponents.
- laplace(x*e**(a*x)*cos(k*x), x, p);
- 2 2 2
- p - 2*p*a + a - k
- -------------------------------------------------------------------------
- 4 3 2 2 2 2 3 2 4 2 2 4
- p - 4*p *a + 6*p *a + 2*p *k - 4*p*a - 4*p*a*k + a + 2*a *k + k
- laplace(x**(1/2)*e**(a*x), x, p);
- - sqrt(pi)
- --------------------------
- 2*sqrt(p - a)*( - p + a)
- laplace(-1/4*e**(a*x)*(x-k)**(-1/2), x, p);
- a*k
- - sqrt(pi)*e
- --------------------
- p*k
- 4*e *sqrt(p - a)
- laplace(x**(5/2)*e**(a*x), x, p);
- - 15*sqrt(pi)
- ----------------------------------------------
- 3 2 2 3
- 8*sqrt(p - a)*( - p + 3*p *a - 3*p*a + a )
- laplace((a*x-b)**c*e**(k*x)*const/2, x, p);
- (b*k)/a c
- - e *a *gamma(c + 1)*const
- -----------------------------------
- (p*b)/a c
- 2*e *(p - k) *( - p + k)
- off mcd;
- laplace(x*e**(a*x)*sin(7*x)/c*3, x, p);
- 2 2 -2 -1
- 42*(p - 2*p*a + a + 49) *c *(p - a)
- on mcd;
- laplace(x*e**(a*x)*sin(k*x-tau), x, p);
- (a*tau)/k 2 2 2 (p*tau)/k
- (e *(p *tau - 2*p*a*tau + 2*p*k + a *tau - 2*a*k + k *tau))/(e
- 4 3 2 2 2 2 3 2 4 2 2 4
- *(p - 4*p *a + 6*p *a + 2*p *k - 4*p*a - 4*p*a*k + a + 2*a *k + k ))
- % The next is unknown if lmon is off.
- laplace(sin(k*x)*cosh(k*x), x, p);
- *** Laplace for cosh(x*k)*sin(x*k) not known - try ON LMON
- laplace(cosh(k*x)*sin(k*x),x,p)
- laplace(x**(1/2)*sin(k*x), x, p);
- *** Laplace for sqrt(x)*sin(x*k) not known - try ON LMON
- laplace(sqrt(x)*sin(k*x),x,p)
- on lmon;
- % But now is OK.
- laplace(x**(1/2)*sin(a*x)*cos(a*b), x, p);
- (sqrt(pi)*cos(a*b)
- *(sqrt(p - a*i)*p*i - sqrt(p + a*i)*p*i + sqrt(p - a*i)*a + sqrt(p + a*i)*a))/(
- 2 2
- 4*sqrt(p + a*i)*sqrt(p - a*i)*(p + a ))
- laplace(sin(x)*cosh(x), x, p);
- 2
- p + 2
- --------
- 4
- p + 4
- laplace(sin(k*x)*cosh(k*x), x, p);
- 2 2
- k*(p + 2*k )
- ---------------
- 4 4
- p + 4*k
- % Off exp leads to very messy output in this case.
- % off exp; laplace(sin(k*x-t)*cosh(k*x-t), x, p); on exp;
- laplace(sin(k*x-t)*cosh(k*x-t), x, p);
- 2 2
- k*(p + 2*k )
- ----------------------
- (p*t)/k 4 4
- e *(p + 4*k )
- laplace(cos(x)**2,x,p);
- 2
- p + 2
- ------------
- 2
- p*(p + 4)
- laplace(c*cos(k*x)**2,x,p);
- 2 2
- c*(p + 2*k )
- ---------------
- 2 2
- p*(p + 4*k )
- laplace(c*cos(2/3*x)**2, x, p);
- 2
- c*(9*p + 8)
- ---------------
- 2
- p*(9*p + 16)
- laplace(5*sinh(x)*e**(a*x)*x**3, x, p);
- 3 2 2 3 8 7 6 2 6
- (120*(p - 3*p *a + 3*p*a + p - a - a))/(p - 8*p *a + 28*p *a - 4*p
- 5 3 5 4 4 4 2 4 3 5 3 3
- - 56*p *a + 24*p *a + 70*p *a - 60*p *a + 6*p - 56*p *a + 80*p *a
- 3 2 6 2 4 2 2 2 7 5
- - 24*p *a + 28*p *a - 60*p *a + 36*p *a - 4*p - 8*p*a + 24*p*a
- 3 8 6 4 2
- - 24*p*a + 8*p*a + a - 4*a + 6*a - 4*a + 1)
- off exp;
- laplace(sin(2*x-3)*cosh(7*x-5), x, p);
- 2 11 2 11 11
- p *e + p + 14*p*e - 14*p + 53*e + 53
- -------------------------------------------------------------------------
- (3*p + 1)/2 5
- e *(p + 7 + 2*i)*(p + 7 - 2*i)*(p - 7 + 2*i)*(p - 7 - 2*i)*e
- on exp;
- laplace(sin(a*x-b)*cosh(c*x-d), x, p);
- *** Laplace for - 1/4*one((x*a - b)/a)*one((x*c - d)/c)*i**(-1) not known
- *** Laplace for 1/4*one((x*a - b)/a)*one((x*c - d)/c)*i**(-1) not known
- a*i*x a*x - b c*x - d 2*c*x 2*d
- - e *one(---------)*one(---------)*i*(e + e )
- a c
- laplace(-----------------------------------------------------------,x,p)
- b*i + c*x + d
- 4*e
- b*i a*x - b c*x - d 2*c*x 2*d
- e *one(---------)*one(---------)*i*(e + e )
- a c
- + laplace(------------------------------------------------------,x,p)
- a*i*x + c*x + d
- 4*e
- % To solve this problem we must tell the program which one-function
- % is rightmost shifted. However, in REDUCE 3.4, this rule is still
- % not sufficient.
- for all x let one(x-b/a)*one(x-d/c) = one(x-b/a);
- laplace(sin(a*x-b)*cosh(c*x-d), x, p);
- (2*b*c)/a 2 2*d 2 (2*b*c)/a 2*d (2*b*c)/a 2
- (a*(e *p + e *p + 2*e *p*c - 2*e *p*c + e *a
- (2*b*c)/a 2 2*d 2 2*d 2 (p*b + a*d + b*c)/a
- + e *c + e *a + e *c ))/(2*e
- 4 2 2 2 2 4 2 2 4
- *(p + 2*p *a - 2*p *c + a + 2*a *c + c ))
- for all x clear one(x-b/a)*one(x-d/c) ;
- off lmon;
- % Floating point arithmetic.
- % laplace(3.5/c*sin(2.3*x-4.11)*e**(1.5*x), x, p);
- on rounded;
- laplace(3.5/c*sin(2.3*x-4.11)*e**(1.5*x), x, p);
- 117.461059957
- ----------------------------------------------------
- 1.78695652174*p 2
- 2.71828182846 *c*(p - 3.0*p + 7.54)
- laplace(x**2.156,x,p);
- 2.32056900246
- ---------------
- 3.156
- p
- laplace(x**(-0.5),x,p);
- 1.77245385091
- ---------------
- 0.5
- p
- off rounded;
- laplace(x**(-0.5),x,p);
- sqrt(pi)
- ----------
- sqrt(p)
- on rounded;
- laplace(x*e**(2.35*x)*cos(7.42*x), x, p);
- 2
- p - 4.7*p - 49.5339
- ---------------------------------------------------------
- 4 3 2
- p - 9.4*p + 143.2478*p - 569.44166*p + 3669.80312521
- laplace(x*e**(2.35*x)*cos(7.42*x-74.2), x, p);
- 3 2
- (160664647206.0*p - 1.11661929808e+12*p + 1.14319162408e+13*p
- 10.0*p
- - 2.36681205089e+13)/(2.71828182846
- 4 3 2
- *(p - 9.4*p + 143.2478*p - 569.44166*p + 3669.80312521))
- % Higher precision works, but uses more memory.
- % precision 20; laplace(x**2.156,x,p);
- % laplace(x*e**(2.35*x)*cos(7.42*x-74.2), x, p);
- off rounded;
- % Integral from 0 to x, where x is object var.
- % Syntax is intl(<expr>,<var>,0,<obj.var>).
- laplace(c1/c2*intl(2*y**2,y,0,x), x,p);
- 4*c1
- -------
- 4
- p *c2
- off mcd;
- laplace(intl(e**(2*y)*y**2+sqrt(y),y,0,x),x,p);
- -1 -3 - 3/2
- p *(2*(p - 2) + 1/2*sqrt(pi)*p )
- on mcd;
- laplace(-2/3*intl(1/2*y*e**(a*y)*sin(k*y),y,0,x), x, p);
- 2*k*( - p + a)
- -------------------------------------------------------------------------------
- 4 3 2 2 2 2 3 2 4 2 2 4
- 3*p*(p - 4*p *a + 6*p *a + 2*p *k - 4*p*a - 4*p*a*k + a + 2*a *k + k )
- % Use of delta function and derivatives.
- laplace(-1/2*delta(x), x, p);
- - 1
- ------
- 2
- laplace(delta(x-tau), x, p);
- 1
- --------
- p*tau
- e
- laplace(c*cos(k*x)*delta(x),x,p);
- c
- laplace(e**(a*x)*delta(x), x, p);
- 1
- laplace(c*x**2*delta(x), x, p);
- 0
- laplace(-1/4*x**2*delta(x-pi), x, p);
- 2
- - pi
- ---------
- p*pi
- 4*e
- laplace(cos(2*x-3)*delta(x-pi),x,p);
- cos(3)
- --------
- p*pi
- e
- laplace(e**(-b*x)*delta(x-tau), x, p);
- 1
- --------------
- tau*(p + b)
- e
- on lmon;
- laplace(cos(2*x)*delta(x),x,p);
- 1
- laplace(c*x**2*delta(x), x, p);
- 0
- laplace(c*x**2*delta(x-pi), x, p);
- 2
- c*pi
- -------
- p*pi
- e
- laplace(cos(a*x-b)*delta(x-pi),x,p);
- cos(a*pi - b)
- ---------------
- p*pi
- e
- laplace(e**(-b*x)*delta(x-tau), x, p);
- 1
- --------------
- tau*(p + b)
- e
- off lmon;
- laplace(2/3*df(delta x,x),x,p);
- 2*p
- -----
- 3
- off exp;
- laplace(e**(a*x)*df(delta x,x,5), x, p);
- 5
- - ( - p + a)
- on exp;
- laplace(df(delta(x-a),x), x, p);
- p
- ------
- p*a
- e
- laplace(e**(k*x)*df(delta(x),x), x, p);
- p - k
- laplace(e**(k*x)*c*df(delta(x-tau),x,2), x, p);
- k*tau 2 2
- e *c*(p - 2*p*k + k )
- ----------------------------
- p*tau
- e
- on lmon;
- laplace(e**(k*x)*sin(a*x)*df(delta(x-t),x,2),x,p);
- k*t 2*a*i*t 2 2 2*a*i*t 2*a*i*t
- (e *( - e *p *i + p *i - 2*e *p*a + 2*e *p*i*k - 2*p*a
- 2*a*i*t 2 2*a*i*t 2*a*i*t 2 2
- - 2*p*i*k + e *a *i + 2*e *a*k - e *i*k - a *i
- 2 t*(p + a*i)
- + 2*a*k + i*k ))/(2*e )
- off lmon;
- % But if tau is positive, Laplace transform is not defined.
- laplace(e**(a*x)*delta(x+tau), x, p);
- *** Laplace for delta(x + tau) not known - try ON LMON
- a*x
- laplace(e *delta(tau + x),x,p)
- laplace(2*c*df(delta(x+tau),x), x, p);
- *** Laplace for df(delta(x + tau),x) not known - try ON LMON
- laplace(2*df(delta(tau + x),x)*c,x,p)
- laplace(e**(k*x)*df(delta(x+tau),x,3), x, p);
- *** Laplace for df(delta(x + tau),x,3) not known - try ON LMON
- k*x
- laplace(e *df(delta(tau + x),x,3),x,p)
- % Adding new let rules for Laplace operator. Note the syntax.
- for all x let laplace(log(x),x) = -log(gam*il!&)/il!&;
- laplace(-log(x)*a/4, x, p);
- log(p*gam)*a
- --------------
- 4*p
- laplace(-log(x),x,p);
- log(p*gam)
- ------------
- p
- laplace(a*log(x)*e**(k*x), x, p);
- log(gam*(p - k))*a
- --------------------
- - p + k
- for all x clear laplace(log(x),x);
- operator f;
- for all x let
- laplace(df(f(x),x),x) = il!&*laplace(f(x),x) - sub(x=0,f(x));
- for all x,n such that numberp n and fixp n let
- laplace(df(f(x),x,n),x) = il!&**n*laplace(f(x),x) -
- for i:=n-1 step -1 until 0 sum
- sub(x=0, df(f(x),x,n-1-i)) * il!&**i ;
- for all x let laplace(f(x),x) = f(il!&);
- laplace(1/2*a*df(-2/3*f(x)*c,x), x,p);
- a*c*( - p*f(p) + f(0))
- ------------------------
- 3
- laplace(1/2*a*df(-2/3*f(x)*c,x,4), x,p);
- 4 3 2
- (a*c*( - p *f(p) + p *f(0) + p *sub(x=0,df(f(x),x)) + p*sub(x=0,df(f(x),x,2))
- + sub(x=0,df(f(x),x,3))))/3
- laplace(1/2*a*e**(k*x)*df(-2/3*f(x)*c,x,2), x,p);
- 2 2
- (a*c*( - p *f(p - k) + 2*p*f(p - k)*k + p*f(0) - f(p - k)*k - f(0)*k
- + sub(x=0,df(f(x),x))))/3
- clear f;
- % Or if the boundary conditions are known and assume that
- % f(i,0)=sub(x=0,df(f(x),x,i)) the above may be overwritten as:
- operator f;
- for all x let
- laplace(df(f(x),x),x) = il!&*laplace(f(x),x) - f(0,0);
- for all x,n such that numberp n and fixp n let
- laplace(df(f(x),x,n),x) = il!&**n*laplace(f(x),x) -
- for i:=n-1 step -1 until 0 sum il!&**i * f(n-1-i,0);
- for all x let laplace(f(x),x) = f(il!&);
- let f(0,0)=0, f(1,0)=1, f(2,0)=2, f(3,0)=3;
- laplace(1/2*a*df(-2/3*f(x)*c,x), x,p);
- - p*f(p)*a*c
- ---------------
- 3
- laplace(1/2*a*df(-2/3*f(x)*c,x,4), x,p);
- 4 2
- a*c*( - p *f(p) + p + 2*p + 3)
- ---------------------------------
- 3
- clear f(0,0), f(1,0), f(2,0), f(3,0);
- clear f;
- % Very complicated examples.
- on lmon;
- laplace(sin(a*x-b)**2, x, p);
- 2
- 2*a
- ------------------------
- (p*b)/a 2 2
- e *p*(p + 4*a )
- off mcd;
- laplace(x**3*(sin x)**4*e**(5*k*x)*c/2, x,p);
- -4 -4 -4
- c*(3/16*( - p + 4*i + 5*k) + 3/16*(p + 4*i - 5*k) - 3/4*( - p + 2*i + 5*k)
- -4 -4
- - 3/4*(p + 2*i - 5*k) + 9/8*( - p + 5*k) )
- a:=(sin x)**4*e**(5*k*x)*c/2;
- 5*k*x 4
- a := 1/2*e *sin(x) *c
- laplace(x**3*a,x,p);
- -4 -4 -4
- c*(3/16*( - p + 4*i + 5*k) + 3/16*(p + 4*i - 5*k) - 3/4*( - p + 2*i + 5*k)
- -4 -4
- - 3/4*(p + 2*i - 5*k) + 9/8*( - p + 5*k) )
- clear a;
- on mcd;
- % And so on, but is very time consuming.
- % laplace(e**(k*x)*x**2*sin(a*x-b)**2, x, p);
- % for all x let one(a*x-b)*one(c*x-d) = one(c*x-d);
- % laplace(x*e**(-2*x)*cos(a*x-b)*sinh(c*x-d), x, p);
- % for all x clear one(a*x-b)*one(c*x-d) ;
- % laplace(x*e**(c*x)*sin(k*x)**3*cosh(x)**2*cos(a*x), x, p);
- off lmon;
- % Error messages.
- laplace(sin(-x),x,p);
- ***** Laplace induces one( - x) which is not allowed
- laplace( - sin(x),x,p)
- on lmon;
- laplace(sin(-a*x), x, p);
- ***** Laplace induces one( - x*a) which is not allowed
- laplace( - sin(a*x),x,p)
- off lmon;
- laplace(e**(k*x**2), x, p);
- *** Laplace for e**(x**2*k) not known - try ON LMON
- 2
- k*x
- laplace(e ,x,p)
- laplace(sin(-a*x+b)*cos(c*x+d), x, p);
- *** Laplace for - cos(x*c + d)*sin(x*a - b) not known - try ON LMON
- laplace( - cos(c*x + d)*sin(a*x - b),x,p)
- laplace(x**(-5/2),x,p);
- *** Laplace for x**( - 5/2) not known - try ON LMON
- 1
- laplace(------------,x,p)
- 2
- sqrt(x)*x
- % With int arg, can't be shifted.
- laplace(intl(y*e**(a*y)*sin(k*y-tau),y,0,x), x, p);
- *** Laplace for sin(x*k - tau) not allowed
- a*x
- laplace(e *sin(k*x - tau)*x,x,p)
- ------------------------------------
- p
- laplace(cosh(x**2), x, p);
- *** Laplace for cosh(x**2) not known - try ON LMON
- 2
- laplace(cosh(x ),x,p)
- laplace(3*x/(x**2-5*x+6),x,p);
- *** Laplace for (x**2 - 5*x + 6)**(-1) not known - try ON LMON
- 3*x
- laplace(--------------,x,p)
- 2
- x - 5*x + 6
- laplace(1/sin(x),x,p);
- *** Laplace for sin(x)**(-1) not known - try ON LMON
- 1
- laplace(--------,x,p)
- sin(x)
- % But ...
- laplace(x/sin(-3*a**2),x,p);
- - 1
- --------------
- 2 2
- p *sin(3*a )
- % Severe errors.
- % laplace(sin x,x,cos y);
- % laplace(sin x,x,y+1);
- % laplace(sin(x+1),x+1,p);
- Comment Examples of Inverse Laplace transformations;
- symbolic(ordl!* := nil);
- % To nullify previous order declarations.
- order t;
- % Elementary ratio of polynomials.
- invlap(1/p, p, t);
- 1
- invlap(1/p**3, p, t);
- 2
- t
- ----
- 2
- invlap(1/(p-a), p, t);
- t*a
- e
- invlap(1/(2*p-a),p,t);
- (t*a)/2
- e
- ----------
- 2
- invlap(1/(p/2-a),p,t);
- 2*t*a
- 2*e
- invlap(e**(-k*p)/(p-a), p, t);
- t*a
- e
- ------
- a*k
- e
- invlap(b**(-k*p)/(p-a), p, t);
- t*a
- e
- ------
- a*k
- b
- invlap(1/(p-a)**3, p, t);
- t*a 2
- e *t
- ---------
- 2
- invlap(1/(c*p-a)**3, p, t);
- (t*a)/c 2
- e *t
- -------------
- 3
- 2*c
- invlap(1/(p/c-a)**3, p, t);
- t*a*c 2 3
- e *t *c
- --------------
- 2
- invlap((c*p-a)**(-1)/(c*p-a)**2, p, t);
- (t*a)/c 2
- e *t
- -------------
- 3
- 2*c
- invlap(c/((p/c-a)**2*(p-a*c)), p, t);
- t*a*c 2 3
- e *t *c
- --------------
- 2
- invlap(1/(p*(p-a)), p, t);
- t*a
- e - 1
- ----------
- a
- invlap(c/((p-a)*(p-b)), p, t);
- t*a t*b
- c*(e - e )
- -----------------
- a - b
- invlap(p/((p-a)*(p-b)), p, t);
- t*a t*b
- e *a - e *b
- -----------------
- a - b
- off mcd;
- invlap((p+d)/(p*(p-a)), p, t);
- t*a -1 t*a -1
- e *a *d + e - a *d
- invlap((p+d)/((p-a)*(p-b)), p, t);
- -1 t*a t*a t*b t*b
- (a - b) *(e *a + e *d - e *b - e *d)
- invlap(1/(e**(k*p)*p*(p+1)), p, t);
- - t + k
- - e + one(t - k)
- on mcd;
- off exp;
- invlap(c/(p*(p+a)**2), p, t);
- t*a
- - (a*t + 1 - e )*c
- -----------------------
- t*a 2
- e *a
- on exp;
- invlap(1, p, t);
- delta(t)
- invlap(c1*p/c2, p, t);
- df(delta(t),t)*c1
- -------------------
- c2
- invlap(p/(p-a), p, t);
- t*a
- delta(t) + e *a
- invlap(c*p**2, p, t);
- df(delta(t),t,2)*c
- invlap(p**2*e**(-a*p)*c, p, t);
- sub(t=t - a,df(delta(t),t,2))*c
- off mcd;
- invlap(e**(-a*p)*(1/p**2-p/(p-1))+c/p, p, t);
- t - a
- t - delta(t - a) - e - a + c
- on mcd;
- invlap(a*p**2-2*p+1, p, x);
- delta(x) + df(delta(x),x,2)*a - 2*df(delta(x),x)
- % P to non-integer power in denominator - i.e. gamma-function case.
- invlap(1/sqrt(p), p, t);
- 1
- ------------------
- sqrt(t)*sqrt(pi)
- invlap(1/sqrt(p-a), p, t);
- t*a
- e
- ------------------
- sqrt(t)*sqrt(pi)
- invlap(c/(p*sqrt(p)), p, t);
- 2*sqrt(t)*c
- -------------
- sqrt(pi)
- invlap(c*sqrt(p)/p**2, p, t);
- 2*sqrt(t)*c
- -------------
- sqrt(pi)
- invlap((p-a)**(-3/2), p, t);
- t*a
- 2*sqrt(t)*e
- ----------------
- sqrt(pi)
- invlap(sqrt(p-a)*c/(p-a)**2, p, t);
- t*a
- 2*sqrt(t)*e *c
- ------------------
- sqrt(pi)
- invlap(1/((p-a)*b*sqrt(p-a)), p, t);
- t*a
- 2*sqrt(t)*e
- ----------------
- sqrt(pi)*b
- invlap((p/(c1-3)-a)**(-3/2), p, t);
- t*a*c1
- 2*sqrt(t)*e *sqrt(c1 - 3)*(c1 - 3)
- -----------------------------------------
- 3*t*a
- sqrt(pi)*e
- invlap(1/((p/(c1-3)-a)*b*sqrt(p/(c1-3)-a)), p, t);
- t*a*c1
- 2*sqrt(t)*e *sqrt(c1 - 3)*(c1 - 3)
- -----------------------------------------
- 3*t*a
- sqrt(pi)*e *b
- invlap((p*2-a)**(-3/2), p, t);
- (t*a)/2
- sqrt(t)*e
- ------------------
- sqrt(pi)*sqrt(2)
- invlap(sqrt(2*p-a)*c/(p*2-a)**2, p, t);
- (t*a)/2
- sqrt(t)*e *sqrt(2)*c
- ----------------------------
- 2*sqrt(pi)
- invlap(c/p**(7/2), p, t);
- 2
- 8*sqrt(t)*t *c
- ----------------
- 15*sqrt(pi)
- invlap(p**(-7/3), p, t);
- 1/3
- t *t
- ------------
- 7
- gamma(---)
- 3
- invlap(gamma(b)/p**b,p,t);
- b
- t
- ----
- t
- invlap(c*gamma(b)*(p-a)**(-b),p,t);
- b t*a
- t *e *c
- -----------
- t
- invlap(e**(-k*p)/sqrt(p-a), p, t);
- t*a
- e
- ---------------------------
- a*k
- sqrt(pi)*e *sqrt(t - k)
- % Images that give elementary object functions.
- % Use of new switches lmon, lhyp.
- invlap(k/(p**2+k**2), p, t);
- 2*t*i*k
- i*( - e + 1)
- ---------------------
- t*i*k
- 2*e
- % This is made more readable by :
- on ltrig;
- invlap(k/(p**2+k**2), p, t);
- sin(t*k)
- invlap(p/(p**2+1), p, t);
- cos(t)
- invlap((p**2-a**2)/(p**2+a**2)**2, p, t);
- t*cos(t*a)
- invlap(p/(p**2+a**2)**2, p, t);
- t*sin(t*a)
- ------------
- 2*a
- invlap((p-a)/((p-a)**2+b**2), p, t);
- t*a
- e *cos(t*b)
- off ltrig;
- on lhyp;
- invlap(s/(s**2-k**2), s, t);
- cosh(t*k)
- invlap(e**(-tau/k*p)*p/(p**2-k**2), p, t);
- cosh(t*k - tau)
- off lhyp;
- % But it is not always possible to convert expt. functions, e.g.:
- on lhyp;
- invlap(k/((p-a)**2-k**2), p, t);
- sinh(t*k)*(cosh(t*a) + sinh(t*a))
- off lhyp;
- on ltrig;
- invlap(e**(-tau/k*p)*k/(p**2+k**2), p, t);
- 2*t*i*k 2*i*tau
- i*( - e + e )
- ----------------------------
- i*(t*k + tau)
- 2*e
- off ltrig;
- % In such situations use the default switches:
- invlap(k/((p-a)**2-k**2), p, t);
- t*a 2*t*k
- e *(e - 1)
- -------------------
- t*k
- 2*e
- % i.e. e**(a*t)*cosh(k*t).
- invlap(e**(-tau/k*p)*k/(p**2+k**2), p, t);
- 2*t*i*k 2*i*tau
- i*( - e + e )
- ----------------------------
- i*(t*k + tau)
- 2*e
- % i.e. sin(k*t-tau).
- % More complicated examples.
- off exp,mcd;
- invlap((p+d)/(p**2*(p-a)), p, t);
- t*a -2
- - ((d*t + 1)*a + d - e *(a + d))*a
- invlap(e**(-tau/k*p)*c/(p*(p-a)**2), p, t);
- -1
- - (k *tau - t)*a -1 -1 -2
- - (e *((k *tau - t)*a + 1) - one(t - k *tau))*a *c
- invlap(1/((p-a)*(p-b)*(p-c)), p, t);
- t*b 2 -1 t*c 2 -1
- - (e *(a*b - a*c - b + b*c) - e *(a*b - a*c - b*c + c )
- t*a 2 -1
- - e *(a - a*b - a*c + b*c) )
- invlap((p**2+g*p+d)/(p*(p-a)**2), p, t);
- t*a -2 -2 t*a -1
- - (e *(a *d - 1) - a *d - e *(a + a *d + g)*t)
- on exp,mcd;
- invlap(k*c**(-b*p)/((p-a)**2+k**2), p, t);
- t*a 2*b*i*k 2*t*i*k
- e *i*(c - e )
- ------------------------------
- t*i*k a*b + b*i*k
- 2*e *c
- on ltrig;
- invlap(c/(p**2*(p**2+a**2)), p, t);
- c*(t*a - sin(t*a))
- --------------------
- 3
- a
- invlap(1/(p**2-p+1), p, t);
- t/2 sqrt(3)*t
- 2*e *sin(-----------)
- 2
- -------------------------
- sqrt(3)
- invlap(1/(p**2-p+1)**2, p, t);
- t/2 sqrt(3)*t sqrt(3)*t
- 2*e *( - 3*t*cos(-----------) + 2*sqrt(3)*sin(-----------))
- 2 2
- ---------------------------------------------------------------
- 9
- invlap(2*a**2/(p*(p**2+4*a**2)), p, t);
- - cos(2*t*a) + 1
- -------------------
- 2
- % This is (sin(a*t))**2 and you can get this by using the let rules :
- for all x let sin(2*x)=2*sin x*cos x, cos(2*x)=(cos x)**2-(sin x)**2,
- (cos x)**2 =1-(sin x)**2;
- invlap(2*a**2/(p*(p**2+4*a**2)), p, t);
- 2
- sin(t*a)
- for all x clear sin(2*x),cos(2*x),cos(x)**2;
- off ltrig;
- on lhyp;
- invlap((p**2-2*a**2)/(p*(p**2-4*a**2)),p,t);
- cosh(2*t*a) + 1
- -----------------
- 2
- off lhyp;
- % Analogously, the above is (cosh(a*t))**2.
- % Floating arithmetic.
- invlap(2.55/((0.5*p-2.0)*(p-3.3333)), p, t);
- (33333*t)/10000 4*t
- 51000*( - e + e )
- ------------------------------------
- 6667
- on rounded;
- invlap(2.55/((0.5*p-2.0)*(p-3.3333)), p, t);
- 4.0*t 3.3333*t
- 7.64961751912*2.71828182846 - 7.64961751912*2.71828182846
- invlap(1.5/sqrt(p-0.5), p, t);
- 0.5*t
- 0.846284375322*2.71828182846
- -----------------------------------
- 0.5
- t
- invlap(2.75*p**2-0.5*p+e**(-0.9*p)/p, p, t);
- 2.75*df(delta(t),t,2) - 0.5*df(delta(t),t) + one(t - 0.9)
- invlap(1/(2.0*p-3.0)**3, p, t);
- 1.5*t 2
- 0.0625*2.71828182846 *t
- invlap(1/(2.0*p-3.0)**(3/2), p, t);
- 0.5 1.5*t
- 0.398942280401*t *2.71828182846
- invlap(1/(p**2-5.0*p+6), p, t);
- 3.0*t 2.0*t
- 2.71828182846 - 2.71828182846
- off rounded;
- % Adding new let rules for the invlap operator. note the syntax:
- for all x let invlap(log(gam*x)/x,x) = -log(lp!&);
- invlap(-1/2*log(gam*p)/p, p, t);
- log(t)
- --------
- 2
- invlap(-e**(-a*p)*log(gam*p)/(c*p), p, t);
- log(t - a)
- ------------
- c
- for all x clear invlap(1/x*log(gam*x),x);
- % Very complicated examples and use of factorizer.
- off exp,mcd;
- invlap(c**(-k*p)*(p**2+g*p+d)/(p**2*(p-a)**3), p, t);
- - (log(c)*k - t)*a -4
- (e - 1)*(a*g + 3*d)*a
- - (log(c)*k - t)*a 2 -1 -2
- + 1/2*e *( - t + log(c)*k) *(a *g + a *d + 1)
- - (log(c)*k - t)*a -3
- + (e *(a*g + 2*d) + d)*(log(c)*k - t)*a
- on exp,mcd;
- invlap(1/(2*p**3-5*p**2+4*p-1), p, t);
- t t/2 t
- e *t + 2*e - 2*e
- on ltrig,lhyp;
- invlap(1/(p**4-a**4), p, t);
- - sin(t*a) + sinh(t*a)
- -------------------------
- 3
- 2*a
- invlap(1/((b-3)*p**4-a**4*(2+b-5)), p, t);
- - sin(t*a) + sinh(t*a)
- -------------------------
- 3
- 2*a *(b - 3)
- off ltrig,lhyp;
- % The next three examples are the same:
- invlap(c/(p**3/8-9*p**2/4+27/2*p-27)**2,p,t);
- 6*t 5
- 8*e *t *c
- -------------
- 15
- invlap(c/(p/2-3)**6,p,t);
- 6*t 5
- 8*e *t *c
- -------------
- 15
- off exp;
- a:=(p/2-3)**6;
- 6
- (p - 6)
- a := ----------
- 64
- on exp;
- invlap(c/a, p, t);
- 6*t 5
- 8*e *t *c
- -------------
- 15
- clear a;
- % The following two examples are the same :
- invlap(c/(p**4+2*p**2+1)**2, p, t);
- 2*t*i 3 3 2*t*i 2 2 2*t*i 2*t*i
- (c*(e *t + t + 6*e *t *i - 6*t *i - 15*e *t - 15*t - 15*e *i
- t*i
- + 15*i))/(96*e )
- invlap(c/((p-i)**4*(p+i)**4),p,t);
- 2*t*i 3 3 2*t*i 2 2 2*t*i 2*t*i
- (c*(e *t + t + 6*e *t *i - 6*t *i - 15*e *t - 15*t - 15*e *i
- t*i
- + 15*i))/(96*e )
- % The following three examples are the same :
- invlap(e**(-k*p)/(2*p-3)**6, p, t);
- (3*t)/2 5 4 3 2 2 3 4 5
- e *(t - 5*t *k + 10*t *k - 10*t *k + 5*t*k - k )
- ------------------------------------------------------------
- (3*k)/2
- 7680*e
- invlap(e**(-k*p)/(4*p**2-12*p+9)**3, p, t);
- (3*t)/2 5 4 3 2 2 3 4 5
- e *(t - 5*t *k + 10*t *k - 10*t *k + 5*t*k - k )
- ------------------------------------------------------------
- (3*k)/2
- 7680*e
- invlap(e**(-k*p)/(8*p**3-36*p**2+54*p-27)**2, p, t);
- (3*t)/2 5 4 3 2 2 3 4 5
- e *(t - 5*t *k + 10*t *k - 10*t *k + 5*t*k - k )
- ------------------------------------------------------------
- (3*k)/2
- 7680*e
- % Error messages.
- invlap(e**(a*p)/p, p, t);
- *** Invlap for e**(p*a)/p not known
- a*p
- e
- invlap(------,p,t)
- p
- invlap(c*p*sqrt(p), p, t);
- *** Invlap for sqrt(p)*p not known
- invlap(sqrt(p)*c*p,p,t)
- invlap(sin(p), p, t);
- *** Invlap for sin(p) not known
- invlap(sin(p),p,t)
- invlap(1/(a*p**3+b*p**2+c*p+d),p,t);
- *** Invlap for (p**3*a + p**2*b + p*c + d)**(-1) not known
- 1
- invlap(-----------------------,p,t)
- 3 2
- a*p + b*p + c*p + d
- invlap(1/(p**2-p*sin(p)+a**2),p,t);
- *** Invlap for (p**2 - p*sin(p) + a**2)**(-1) not known
- - 1
- invlap(--------------------,p,t)
- 2 2
- sin(p)*p - a - p
- on rounded;
- invlap(1/(p**3-1), p, t);
- *** Invlap for (p**3 - 1)**(-1) not known
- 1
- invlap(--------,p,t)
- 3
- p - 1
- off rounded;
- % Severe errors:
- %invlap(1/(p**2+1), p+1, sin(t) );
- %invlap(p/(p+1)**2, sin(p), t);
- end;
- Time for test: 680 ms, plus GC time: 90 ms
|