DesignMat Uge 9 F2010Preben Alsholm, 11/4 2010Pakkerrestart;if ssystem("hostname")=[0,"PC-PKA1"] then
libname:="C:/Documents and Settings/alsholm/Dokumenter/Kopi af DropBox/DMat",libname
elif ssystem("hostname")=[0,"pc-pka"] then
libname:="F:/DMat",libname
elif ssystem("hostname")=[0,"alsholm-PC"] then
libname:="F:/DMat",libname
else print("Fremmed computer. Skriv selv libname.")
end if;with(DMat):with(DEtools):
with(plots):Hvad er en differentialligning?ligning:=diff(x(t),t)=t*x(t)-3/t;Opgaven lyder: Find en l\303\270sning til differentialligningen! Hvad er det egentlig, vi bliver bedt om?Vi bliver bedt om at finde en funktion g defineret p\303\245 et interval I, s\303\245 eval(ligning,x=g);g\303\246lder for alle t i I.Eksempelvis er LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZ0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYsNiVRInRGJ0YvRjIvRjNRJ25vcm1hbEYnRj0tSSNtb0dGJDYtUSI9RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRS8lKXN0cmV0Y2h5R0ZFLyUqc3ltbWV0cmljR0ZFLyUobGFyZ2VvcEdGRS8lLm1vdmFibGVsaW1pdHNHRkUvJSdhY2NlbnRHRkUvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZULUklbXN1cEdGJDYlRjotRiM2Ji1GQDYtUSomdW1pbnVzMDtGJ0Y9RkNGRkZIRkpGTEZORlAvRlNRLDAuMjIyMjIyMmVtRicvRlZGam4tSSNtbkdGJDYkUSIyRidGPUYvRjIvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRj0= ikke l\303\270sning p\303\245 noget interval, daeval(ligning,x(t)=t^(-2));ikke g\303\246lder p\303\245 noget interval. Det g\303\246lder faktisk kun for to v\303\246rdier af t, nemligsolve(%,t);Vi tegner h\303\246ldningsfeltet (retningsfeltet), dvs. i mange punkter i t-x-planen afs\303\246tter vi en pil hvis h\303\246ldning er lig med (i dette tilf\303\246lde) LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEidEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RJyZzZG90O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUYsNiVRInhGJ0YvRjItRjY2LVEoJm1pbnVzO0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZWLUkmbWZyYWNHRiQ2KC1JI21uR0YkNiRRIjNGJ0Y5LUYjNiVGK0YvRjIvJS5saW5ldGhpY2tuZXNzR1EiMUYnLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRmBvLyUpYmV2ZWxsZWRHRj1GOQ==, som jo netop er h\303\270jresiden af differentialligningen skrevet p\303\245 formen LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUkmbWZyYWNHRiQ2KC1JI21pR0YkNiVRI2R4RicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiUtRi82JVEjZHRGJ0YyRjVGMkY1LyUubGluZXRoaWNrbmVzc0dRIjFGJy8lK2Rlbm9tYWxpZ25HUSdjZW50ZXJGJy8lKW51bWFsaWduR0ZCLyUpYmV2ZWxsZWRHUSZmYWxzZUYnLUkjbW9HRiQ2LVEiPUYnL0Y2USdub3JtYWxGJy8lJmZlbmNlR0ZHLyUqc2VwYXJhdG9yR0ZHLyUpc3RyZXRjaHlHRkcvJSpzeW1tZXRyaWNHRkcvJShsYXJnZW9wR0ZHLyUubW92YWJsZWxpbWl0c0dGRy8lJ2FjY2VudEdGRy8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRmhuLUYvNiVRInRGJ0YyRjUtRkk2LVEnJnNkb3Q7RidGTEZORlBGUkZURlZGWEZaL0ZnblEmMC4wZW1GJy9Gam5GYm8tRi82JVEieEYnRjJGNS1GSTYtUSgmbWludXM7RidGTEZORlBGUkZURlZGWEZaL0ZnblEsMC4yMjIyMjIyZW1GJy9Gam5GW3AtRiw2KC1JI21uR0YkNiRRIjNGJ0ZMLUYjNiVGW29GMkY1Rj1GQEZDRkVGTA==.DEplot(ligning,x(t),t=0..5,x=-1..3,title=typeset("H\303\246ldningsfeltet for ",ligning));At finde en l\303\270sning er alts\303\245 det samme som at finde en kurve, der i ethvert punkt har den h\303\246ldning, der er givet ved h\303\246ldningsfeltet. DEplot(ligning,x(t),t=0..5,x=-1..3,[x(1)=1.3],title=typeset("En l\303\270sning sammen med h\303\246ldningsfeltet for ",ligning),linecolor=blue);p1:=DEplot(ligning,x(t),t=0..5,x=-1..3,[[x(1)=1.3],[x(1)=1.4]],title=typeset("To l\303\270sninger sammen med h\303\246ldningsfeltet for ",ligning),linecolor=blue):
p1;animate(DEplot,[ligning,x(t),t=0..5,x=-1..3,[x(1)=x1],linecolor=blue],x1=1..1.5,trace=25);animate(DEplot,[ligning,x(t),t=0..5,x=-1..3,[x(5)=x1],linecolor=blue],x1=-1..3,trace=25);Maple kan godt finde formeludtryk for l\303\270sningerne, men dette involverer en funktion Ei, som ikke er s\303\245 velkendt:res:=dsolve(ligning);Lad os tegne grafen for den l\303\270sning, der svarer til _C1 = 0:X:=eval(rhs(res),_C1=0);p2:=plot(X,t=0..5,caption=typeset("L\303\270sningen ",x(t)=X),color=green,thickness=2):
p2;display(p1,p2,caption=typeset("Den gr\303\270nne skiller f\303\245rene fra bukkene"),title="");Line\303\246re differentialligninger af f\303\270rste ordenEksempel 1 Line\303\246r differentialligning af f\303\270rste ordenligning:=diff(x(t),t)+2/t*x(t)=exp(-t);Den fuldst\303\246ndige l\303\270sning:fuldL:=dsolve(ligning);Mellemregning:dsolve(ligning,useInt);Vi beder Maple om at gange parentesen ud (men ikke g\303\270re noget ved exp):expand(%,exp);Vi beder Maple om kun at at udregne integralet i eksponentialfunktionen:subsindets(%,specfunc(anything,exp),value);simplify(%);Nu udregner vi det sidste integral:value(%);Den l\303\270sning, der opfylder begyndelsesbetingelsen x(1) = 2 findes i Maple s\303\245ledes:res:=dsolve({ligning,x(1)=2});plot(rhs(res),t=0..5,0..10,caption=typeset("L\303\270sning til begyndelsesv\303\246rdiproblemet \134n",ligning,", ",x(1)=2));Her tegner vi l\303\270sninger svarende til forskellige v\303\246rdier af den arbitr\303\246re konstant i den fuldst\303\246ndige l\303\270sning fundet ovenfor:animate(plot,[rhs(fuldL),t=0..5,x=-10..10],_C1=-3..5,trace=25);Vi ser af graferne, at der er l\303\270sninger, der ser ud til at v\303\246re aftagende og l\303\270sninger, der ser ud til at v\303\246re voksende.De f\303\270rste ser ud til at g\303\245 mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2I1EhRictRiw2JVEoJmluZmluO0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy8lK2ZvcmVncm91bmRHUSpbMCwwLDI1NV1GJy8lKXJlYWRvbmx5R0Y0LyUwZm9udF9zdHlsZV9uYW1lR1EqMkR+T3V0cHV0RicvRjZRJ25vcm1hbEYn, n\303\245r LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEidEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZzcmFycjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjBGJ0Y5Rjk= fra h\303\270jre, de andre ser ud til at g\303\245 mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y0LyUpc3RyZXRjaHlHRjQvJSpzeW1tZXRyaWNHRjQvJShsYXJnZW9wR0Y0LyUubW92YWJsZWxpbWl0c0dGNC8lJ2FjY2VudEdGNC8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRkMtSSNtaUdGJDYlUSgmaW5maW47RicvJSdpdGFsaWNHUSV0cnVlRicvRjBRJ2l0YWxpY0YnLyUrZm9yZWdyb3VuZEdRKlswLDAsMjU1XUYnLyUpcmVhZG9ubHlHRkwvJTBmb250X3N0eWxlX25hbWVHUSoyRH5PdXRwdXRGJ0Yv.Vi vil unders\303\270ge, om der findes en l\303\270sning, der har en gr\303\246nsev\303\246rdi for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEidEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZzcmFycjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjBGJ0Y5Rjk= fra h\303\270jre.Den fuldst\303\246ndige l\303\270sning erfuldL;Det er n\303\270dvendigt for eksistensen af en s\303\245dan l\303\270sning, at t\303\246lleren har gr\303\246nsev\303\246rdien 0 for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEidEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZzcmFycjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjBGJ0Y5Rjk=.T\303\246lleren ernumer(rhs(fuldL));Vi ser, at _C1 skal v\303\246re 2.L\303\270sningen svarende hertil erspecL:=eval(fuldL,_C1=2);Nu unders\303\270ger vi s\303\245, om denne l\303\270sning faktisk har en gr\303\246nsev\303\246rdi for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEidEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZzcmFycjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjBGJ0Y5Rjk= fra h\303\270jre.F\303\270rst Maple direkte:Limit(rhs(specL),t=0,right): %=value(%);Dern\303\246st ved brug af Taylors gr\303\246nseformel brugt p\303\245 t\303\246llerentaylor(numer(rhs(specL)),t=0,4);Heraf ses efter division med n\303\246vneren, at l\303\270sningen har en gr\303\246nsev\303\246rdi og at den er nul.Eksempel 2 Line\303\246r differentialligning af f\303\270rste ordenligning:=diff(x(t),t)+2*t*x(t)=2*t^3;Den fuldst\303\246ndige l\303\270sning:fuldL:=dsolve(ligning);Mellemregning:dsolve(ligning,useInt);Vi beder Maple om at gange parentesen ud (men ikke g\303\270re noget ved exp):expand(%,exp);Vi beder Maple om kun at at udregne integralet i eksponentialfunktionen:subsindets(%,specfunc(anything,exp),value);Nu udregner vi det sidste integral:value(%);expand(%);combine(%);Den l\303\270sning, der opfylder begyndelsesbetingelsen x(0) = 1 findes s\303\245ledes:res:=dsolve({ligning,x(0)=1});plot(rhs(res),t=-2..2,0..3,caption=typeset("L\303\270sning til begyndelsesv\303\246rdiproblemet \134n",ligning,", ",x(0)=1));Her tegner vi l\303\270sninger svarende til forskellige v\303\246rdier af den arbitr\303\246re konstant i den fuldst\303\246ndige l\303\270sning fundet ovenfor:animate(plot,[rhs(fuldL),t=-2..2],_C1=-3..4,trace=25);Her tegnes 5 l\303\270sninger sammen med h\303\246ldningsfeltet.Vi bruger DEplot, der l\303\270ser differentialligningen numerisk. Den udnytter alts\303\245 ikke den eksakte l\303\270sning.DEplot(ligning,x(t),t=-2..2,[[x(0)=-1],[x(0)=0],[x(0)=1],[x(0)=2],[x(0)=3]],color=grey,linecolor=[red,blue,maroon,aquamarine,sienna],title="5 l\303\270sninger sammen med h\303\246ldningsfeltet");Animering:p1:=DEplot(ligning,x(t),t=-2..2,x=-1..3,color=grey):animate(DEplot,[ligning,x(t),t=-2..T,[[x(0)=-1],[x(0)=0],[x(0)=1],[x(0)=2],[x(0)=3]],arrows=none,linecolor=[red,blue,maroon,aquamarine,sienna],title="5 l\303\270sninger sammen med h\303\246ldningsfeltet"],T=-1.99..2,background=p1);Animering, hvor x(0) \303\246ndres fra -1 til 3:p1:=DEplot(ligning,x(t),t=-2..2,x=-1..3,color=grey):animate(DEplot,[ligning,x(t),t=-2..2,[[x(0)=x0]],arrows=none,linecolor=red,title="L\303\270sning med skiftende begyndelsesv\303\246rdier sammen med h\303\246ldningsfeltet"],x0=-1..3,background=p1,trace=10);Eksempel 3 Line\303\246r differentialligning af f\303\270rste ordenligning:=(3+t)*diff(x(t),t)+x(t)=(6+2*t)*exp(-t);Den fuldst\303\246ndige l\303\270sning:fuldL:=dsolve(ligning);Mellemregning:dsolve(ligning,useInt);Vi beder Maple om at gange parentesen ud (men ikke g\303\270re noget ved exp):expand(%,exp);Vi beder Maple om kun at at udregne integralet i eksponentialfunktionen:subsindets(%,specfunc(anything,exp),value);Vi vil nu gerne have eksponentialfunktionen under integraltegnet simplificeret:simplify(%);value(%);Den l\303\270sning, der opfylder begyndelsesbetingelsen x(-2) = 0 f\303\245s s\303\245ledesres:=dsolve({ligning,x(-2)=0});plot(rhs(res),t=-3..10,-10..10,caption=typeset("L\303\270sning til begyndelsesv\303\246rdiproblemet \134n",ligning,", ",x(-2)=0));Bem\303\246rk, at den fuldst\303\246ndige l\303\270sning:fuldL; viser, at l\303\270sningerne er defineret enten p\303\245 intervallet t > -3 eller p\303\245 intervallet t < -3.N\303\246vneren er nul, n\303\245r t = -3. Br\303\270ken kan derfor kun have en gr\303\246nsev\303\246rdi fot t -> -3 (fra venstre eller h\303\270jre), hvis den arbitr\303\246re konstant _C1 har en v\303\246rdi, der g\303\270r at t\303\246lleren er 0, n\303\245r t = -3:numer(rhs(fuldL));eval(%,t=-3);Vi ser, at kravet om mulig eksistens af gr\303\246nsev\303\246rdien medf\303\270rer, at _C1 n\303\270dvendigvis skal v\303\246re LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbW5HRiQ2JFEiMkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RJyZzZG90O0YnRi8vJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjgvJSlzdHJldGNoeUdGOC8lKnN5bW1ldHJpY0dGOC8lKGxhcmdlb3BHRjgvJS5tb3ZhYmxlbGltaXRzR0Y4LyUnYWNjZW50R0Y4LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGRy1JI21pR0YkNiVRJGV4cEYnLyUnaXRhbGljR0Y4Ri8tSShtZmVuY2VkR0YkNiQtRiM2JC1GLDYkUSIzRidGL0YvRi8tRks2I1EhRidGLw==, alts\303\245 ca.evalf(2*exp(3));Her tegner vi l\303\270sninger svarende til forskellige v\303\246rdier af den arbitr\303\246re konstant i den fuldst\303\246ndige l\303\270sning fundet ovenfor:animate(plot,[rhs(fuldL),t=-3..10,-10..20],_C1=[seq(k,k=-5..35,5),2*exp(3),seq(k,k=41..50)],trace=20);Den omtalte l\303\270sning specL:=eval(fuldL,_C1=2*exp(3));er lidt speciel, idet den er den eneste, der har en (endelig) gr\303\246nsev\303\246rdi for t - > -3 fra h\303\270jre:Limit(rhs(specL),t=-3,right): %=value(%);Vi pr\303\270ver at finde gr\303\246nsev\303\246rdien ved h\303\245ndkraft.Vi unders\303\270ger t\303\246lleren:numer(rhs(specL));Anvender Taylors gr\303\246nseformeltaylor(%,t=-3,3);%/(3+t);taylor(%,t=-3,3);Vi ser, at gr\303\246nsev\303\246rdien ganske rigtigt eksisterer og er nul.Vi tegner grafen for denne specielle l\303\270sning. I samme koordinatssystem tegner vi en kurve, der g\303\245r gennem punkter, hvor l\303\270sningerne har vandret tangent.Denne kurve f\303\245s ved i selve differentialligningen at s\303\246tte x'(t) = 0: ligning;eval(ligning,diff(x(t),t)=0);Bem\303\246rk, at dette selvf\303\270lgelig ikke er en l\303\270sning til differentialligningen:p1:=plot([rhs(specL),(6+2*t)*exp(-t)],t=-3..10,thickness=[2,1],color=[blue,"SkyBlue"]): p1;Her tegner vi l\303\270sninger svarende til forskellige v\303\246rdier af den arbitr\303\246re konstant i den fuldst\303\246ndige l\303\270sning fundet ovenfor:animate(plot,[rhs(fuldL),t=-3..10,-10..20],_C1=[seq(k,k=0..50,2)],trace=25,background=p1);Vi tegner 10 l\303\270sninger sammen med h\303\246ldningsfeltet og bruger her numerisk l\303\270sning:DEplot(ligning,x(t),t=-2.99..10,[seq([x(0)=k],k=-6..9,3),[x(0)=(-8+2*exp(3))/3],seq([x(0)=k],k=11..13)],x=-10..20,color=grey,linecolor=[red$6,blue,maroon$3],title="10 l\303\270sninger sammen med h\303\246ldningsfeltet",stepsize=.03);Animering, hvor begyndelsesv\303\246rdien x(0) \303\246ndres fra -5 til 12:p1:=DEplot(ligning,x(t),t=-2.9..10,x=-10..20,color=grey,title="5 l\303\270sninger sammen med h\303\246ldningsfeltet"):animate(DEplot,[ligning,x(t),t=-2.9..10,[[x(0)=x0]],x=-10..20,arrows=none,linecolor=red,title="L\303\270sning med skiftende begyndelsesv\303\246rdi sammen med h\303\246ldningsfeltet",stepsize=.03],x0=-5..12,background=p1,trace=14);Line\303\246re differentialligninger af anden ordenEksistens og entydighedligning:=diff(x(t),t,t)+2*diff(x(t),t)+5*x(t)=5*sin(t);res:=dsolve({ligning,x(0)=x0,D(x)(0)=x1});MultiAnimate(plot,[rhs(res),t=0..6,-3..3],[x1=-3..3.,x0=-2..2.]):
MultiAnimate(plot,[x0+x1*t,t=0..6,-3..3,color=blue],[x1=-3..3.,x0=-2..2.]):
display(%%,%);Randv\303\246rdiproblem. Noget ganske andet.res:=dsolve({ligning,x(0)=x0,x(2)=x1});MultiAnimate(plot,[rhs(res),t=0..2,numpoints=100],[x1=[-1,0,1],x0=[-1,0,1]]):
%;Eksempel 0 Line\303\246r differentialligning af anden ordenligning:=diff(x(t),t,t)+3*diff(x(t),t)+2*x(t)=20*t*exp(3*t);Fuldst\303\246ndig l\303\270sningdsolve(ligning);Den kommer (her i Maple 12) ikke ud p\303\245 en p\303\246n form, s\303\245 vi masserer den lidt:combine(expand(%));Den l\303\270sning, der opfylder begyndelsesbetingelserne x(0) = 0 og x'(0) = -4/5:dsolve({ligning,x(0)=0,D(x)(0)=-4/5});combine(expand(%));Karakterligningenligning:=a*diff(x(t),t,t)+b*diff(x(t),t)+c*x(t)=0;subs( x(t)=exp(R*t), ligning);factor(%);Karakterligningen kan billigt opn\303\245s s\303\245ledeseval(%,t=0);I DEtools-pakken ligger de2diffop der kan levere karakterpolynomiet s\303\245ledes:de2diffop(ligning,x(t),[R,t]);Eller i DMat-pakken:KarPoly(ligning,x(t),R);Eksempel 1 To reelle r\303\270dder i karakterpolynomietEn homogen ligning:ligning:=2*diff(x(t),t,t)+7*diff(x(t),t)-4*x(t)=0;Den fuldst\303\246ndige l\303\270sning til denne homogene ligning ved brug af dsolveres:=dsolve(ligning);MultiAnimate(plot,[rhs(res),t=0..5,-3..3],[_C1=[$-2..2],_C2=[$-2..2]]);Mellemregning:Karakterpolynomiet erKarPoly(ligning,x(t),R);der har r\303\270ddernesolve(%=0,R);En inhomogen ligningEn inhomogen ligning:ligningi:=2*diff(x(t),t,t)+7*diff(x(t),t)-4*x(t)=-4*t^2+14*t+8;Den fuldst\303\246ndige l\303\270sning til denne inhomogene ligning ved brug af dsolvedsolve(ligningi);Er der givet begyndelsesbetingelserne x(0) = 1, x'(0) = -1, kan l\303\270sningen bestemmes ved brug af dsolve s\303\245ledes:res:=dsolve({ligningi,x(0)=1,D(x)(0)=-1});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);Tangenten til grafen for f i punktet (0, f(0) ) = (0, 1) er givet ved x = tangent, hvor tangent:=f(0)+D(f)(0)*t;r:=-1/2..1:
p1:=plot(tangent,t=r,color=blue):
p2:=plot(f(t),t=r):
display(p1,p2);Hvis h\303\246ldningen v\303\246lges til a kan vi bruge denne som animationsparameter:res:=dsolve({ligningi,x(0)=1,D(x)(0)=a});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);tangent:=f(0)+D(f)(0)*t;r:=-1/2..1:
p1:=animate(plot,[tangent,t=r,color=blue],a=-1..1):
p2:=animate(plot,[f(t),t=r],a=-1..1):
display(p1,p2);Hvis positionen v\303\246lges til b kan vi bruge denne som animationsparameter i stedet:res:=dsolve({ligningi,x(0)=b,D(x)(0)=-1});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);tangent:=f(0)+D(f)(0)*t;r:=-1/2..1:
p1:=animate(plot,[tangent,t=r,color=blue],b=-1..1):
p2:=animate(plot,[f(t),t=r],b=-1..1):
display(p1,p2);Eller ved brug af MultiAnimate (fra DMat):res:=dsolve({ligningi,x(0)=b,D(x)(0)=a});f:=unapply(subs(res,x(t)),t):
tangent:=f(0)+D(f)(0)*t:r:=-1/2..1:
MultiAnimate(plot,[rhs(res),t=r],[a=-1..1,b=-1..1]):
MultiAnimate(plot,[tangent,t=r,color=blue],[a=-1..1,b=-1..1]):
display(%%,%);Samme ved simuleret h\303\245ndkraftF\303\270rst skal karakterligningen nedskrives:karlign:=KarPoly(ligning,x(t),lambda)=0;S\303\245 skal karakterligningen l\303\270ses:lambda1,lambda2:=solve(karlign,lambda);Den fuldst\303\246ndige l\303\270sning til den homogene ligning er nu, hvor r\303\270dderne er reelle og forskellige:fuldhom:=c1*exp(lambda1*t)+c2*exp(lambda2*t);Ansats til partikul\303\246r l\303\270sning til den inhomogene ligningxp:=a*t^2+b*t+c;Vi inds\303\246tter i den inhomogene ligning:subs(x(t)=xp,ligningi);%;collect(%,t);Dette skal v\303\246re en identitet i t, dvs. at ligningen skal g\303\246lde for alle t:solve(identity(%,t),{a,b,c});Hermed er en partikul\303\246r l\303\270sning til den inhomogene differentialligning givet vedxpkonk:=subs(%,xp);Den fuldst\303\246ndige l\303\270sning til den inhomogene ligning er dermed givet vedfuldinhom:=x(t)=xpkonk+fuldhom;Er der givet begyndelsesbetingelserne x(0) = 1, x'(0) = -1, kan l\303\270sningen bestemmes ved brug af simuleret h\303\245ndkraft s\303\245ledes:F\303\270rst inds\303\246t t = 0 og x(0) = 1 i formlen for x(t):L1:=subs(t=0,x(0)=1,fuldinhom);L1;Differenti\303\251r derefter udtrykket for x(t):diff(fuldinhom,t);Det er i det f\303\270lgende en fordel at bruge D:convert(%,D);Inds\303\246t t = 0 og x'(0) = -1:L2:=subs(t=0,D(x)(0)=-1,%);L2;L\303\270s nu ligningerne L1 og L2 for c1 og c2:solve({L1,L2},{c1,c2});Inds\303\246t de fundne c-v\303\246rdier i den fuldst\303\246ndige l\303\270sning:subs(%,fuldinhom);Eksempel 2 En reel dobbeltrod i karakterpolynomietF\303\270rst en homogen ligning:ligning:=diff(x(t),t,t)+4*diff(x(t),t)+4*x(t)=0;Den fuldst\303\246ndige l\303\270sning:dsolve(ligning);En tilsvarende inhomogen ligningEn inhomogen ligning:ligningi:=diff(x(t),t,t)+4*diff(x(t),t)+4*x(t)=10*exp(-t);Den fuldst\303\246ndige l\303\270sning:dsolve(ligningi);Er der givet begyndelsesbetingelserne x(0) = -2, x'(0) = 0, kan l\303\270sningen bestemmes s\303\245ledesres:=dsolve({ligningi,x(0)=-2, D(x)(0)=0});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);Tangenten til grafen for f i punktet (0, f(0) ) = (0, -2) er givet ved x = tangent, hvor tangent:=f(0)+D(f)(0)*t;r:=-1/2..2:
p1:=plot(tangent,t=r,color=blue):
p2:=plot(f(t),t=r):
display(p1,p2);Hvis h\303\246ldningen v\303\246lges til a kan vi bruge denne som animationsparameter:res:=dsolve({ligningi,x(0)=-2,D(x)(0)=a});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);tangent:=f(0)+D(f)(0)*t;r:=-1/2..2:
p1:=animate(plot,[tangent,t=r,color=blue],a=-1..1):
p2:=animate(plot,[f(t),t=r],a=-1..1):
display(p1,p2);Hvis positionen v\303\246lges til b kan vi bruge denne som animationsparameter i stedet:res:=dsolve({ligningi,x(0)=b,D(x)(0)=0});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);tangent:=f(0)+D(f)(0)*t;r:=-1/2..2:
p1:=animate(plot,[tangent,t=r,color=blue],b=-1..1):
p2:=animate(plot,[f(t),t=r],b=-1..1):
display(p1,p2);Simuleret h\303\245ndkraftF\303\270rst skal karakterligningen nedskrives:karlign:=KarPoly(ligning,x(t),lambda)=0;S\303\245 skal karakterligningen l\303\270ses:lambda1,lambda2:=solve(karlign,lambda);Vi ser, at der er en reel dobbeltrod. Den fuldst\303\246ndige l\303\270sning til den homogene ligning er nu:fuldhom:=c1*exp(lambda1*t)+c2*t*exp(lambda1*t);Ansats til partikul\303\246r l\303\270sning til den inhomogene ligningxp:=a*exp(-t);Vi inds\303\246tter i den inhomogene ligning:subs(x(t)=xp,ligningi);%;Dette skal v\303\246re en identitet i t, dvs. at ligningen skal g\303\246lde for alle t:solve(identity(%,t),{a});Hermed er en partikul\303\246r l\303\270sning til den inhomogene differentialligning givet vedxpkonk:=subs(%,xp);Den fuldst\303\246ndige l\303\270sning til den inhomogene ligning er dermed givet vedfuldinhom:=x(t)=xpkonk+fuldhom;Er der givet begyndelsesbetingelserne x(0) = -2, x'(0) = 0, kan l\303\270sningen bestemmes ved brug af simuleret h\303\245ndkraft s\303\245ledes:F\303\270rst inds\303\246t t = 0 og x(0) = -2 i formlen for x(t):L1:=subs(t=0,x(0)=-2,fuldinhom);L1;Differenti\303\251r derefter udtrykket for x(t):diff(fuldinhom,t);Det er i det f\303\270lgende en fordel at bruge D:convert(%,D);Inds\303\246t t = 0 og x'(0) = 0:L2:=subs(t=0,D(x)(0)=0,%);L2;L\303\270s nu ligningerne L1 og L2 for c1 og c2:solve({L1,L2},{c1,c2});Inds\303\246t de fundne c-v\303\246rdier i den fuldst\303\246ndige l\303\270sning:subs(%,fuldinhom);Eksempel 3 To imagin\303\246re r\303\270dder i karakterpolynomietEn homogen differentialligningligning:=diff(x(t),t,t)+4*diff(x(t),t)+13*x(t)=0;Den fuldst\303\246ndige l\303\270sning:dsolve(ligning);En tilsvarende inhomogen ligningEn inhomogen differentialligning:ligningi:=diff(x(t),t,t)+4*diff(x(t),t)+13*x(t)=4*cos(t);Den fuldst\303\246ndige l\303\270sning:dsolve(ligningi);Med begyndelsesbetingelserne x(0) = 1, x'(0) = 2:res:=dsolve({ligningi,x(0)=1,D(x)(0)=2});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);Tangenten til grafen for f i punktet (0, f(0) ) = (0, 1) er givet ved x = tangent, hvor tangent:=f(0)+D(f)(0)*t;r:=-1..2: rtang:=-1..1:
p1:=plot(tangent,t=rtang,color=blue):
p2:=plot(f(t),t=r):
display(p1,p2);Hvis h\303\246ldningen v\303\246lges til a kan vi bruge denne som animationsparameter:res:=dsolve({ligningi,x(0)=1,D(x)(0)=a});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);tangent:=f(0)+D(f)(0)*t;r1:=-1..4: r2:=-1..4:
p1:=animate(plot,[tangent,t=r1,r2,color=blue,title=typeset("Begyndelsesv\303\246rdier ",x(0) = 1," og ", D(x)(0)=a,"\134n")],a=[seq(k,k=-5..5)],paraminfo=false):
p2:=animate(plot,[f(t),t=r1,r2],a=[seq(k,k=-5..5)],paraminfo=false):
display(p1,p2,caption=typeset("L\303\270sning til ",ligningi));Hvis positionen v\303\246lges til b kan vi bruge denne som animationsparameter i stedet:res:=dsolve({ligningi,x(0)=b,D(x)(0)=2});Vi gemmer l\303\270sningen som en funktion f:f:=unapply(subs(res,x(t)),t);tangent:=f(0)+D(f)(0)*t;r:=-1..10: rtang:=-1..1:
p1:=animate(plot,[tangent,t=rtang,color=blue],b=-1..1):
p2:=animate(plot,[f(t),t=r,-3..3],b=-1..1):
display(p1,p2);Simuleret h\303\245ndkraftF\303\270rst skal karakterligningen nedskrives:karlign:=de2diffop(ligning,x(t),[lambda,t])=0;S\303\245 skal karakterligningen l\303\270ses:lambda1,lambda2:=solve(karlign,lambda);Vi ser, at der er 2 imagin\303\246re r\303\270dder, og at de er hinandens kompleks konjugerede. Den fuldst\303\246ndige l\303\270sning til den homogene ligning er nu:fuldhom:=c1*Re(exp(lambda1*t))+c2*Im(exp(lambda1*t)) assuming t::real;Ansats til partikul\303\246r l\303\270sning til den inhomogene ligningxp:=a*cos(t)+b*sin(t);Vi inds\303\246tter i den inhomogene ligning:subs(x(t)=xp,ligningi);%;collect(%,[cos(t),sin(t)]);Dette skal v\303\246re en identitet i t, dvs. at ligningen skal g\303\246lde for alle t:solve(identity(%,t),{a,b});Hermed er en partikul\303\246r l\303\270sning til den inhomogene differentialligning givet vedxpkonk:=subs(%,xp);Den fuldst\303\246ndige l\303\270sning til den inhomogene ligning er dermed givet vedfuldinhom:=x(t)=xpkonk+fuldhom;Er der givet begyndelsesbetingelserne x(0) = 1, x'(0) = 2, kan l\303\270sningen bestemmes ved brug af simuleret h\303\245ndkraft s\303\245ledes:F\303\270rst inds\303\246t t = 0 og x(0) = 1 i formlen for x(t):L1:=subs(t=0,x(0)=1,fuldinhom);L1;Hermed er c1 jo faktisk bestemt.Differenti\303\251r derefter udtrykket for x(t):diff(fuldinhom,t);Det er i det f\303\270lgende en fordel at bruge D:convert(%,D);Inds\303\246t t = 0 og x'(0) = 2:L2:=subs(t=0,D(x)(0)=2,%);L2;L\303\270s nu ligningerne L1 og L2 for c1 og c2:solve({L1,L2},{c1,c2});Inds\303\246t de fundne c-v\303\246rdier i den fuldst\303\246ndige l\303\270sning:subs(%,fuldinhom);