Handleiding Maple 10Hoofdstuk 11 DifferentiaalvergelijkingenVersie Maple 1011.1 Inleidingdsolve[interactive](diff(y(t),t,t)+c*diff(y(t),t)+sin(y(t))=0);11.2 Differentiaalvergelijkingen van de eerste orde11.2.1 Veel voorkomende eerste-orde DV'svoorbeeld 11.1 Ongestuurd eerste-ordesysteemrestart; DV:=diff(y(t),t) = k*y(t); RV:=y(0)=2;algemene_oplossing:=dsolve(DV,y(t));speciale_oplossing:=dsolve({DV,RV},y(t));k:=-0.3; plot(rhs(speciale_oplossing),t=0..20,0..2.1,thickness=2, title="de oplossing van de eerste-orde DV
(ongestuurd)");Voorbeeld 11.2 Gestuurd eerste-ordesysteemGestuurd eerste-ordesysteemrestart; DV:=diff(y(t),t) = k*y(t)+A; RV:=y(0)=0;algemene_oplossing:=dsolve(DV,y(t));speciale_oplossing:=dsolve({DV,RV},y(t));k,A:=-0.3,5; plot(rhs(speciale_oplossing),t=0..20,thickness=2, title="de oplossing van de eerste-ordeDV
(gestuurd systeem)");plot([rhs(speciale_oplossing),-A/k],t=0..20,thickness=[2,1],linestyle=[1,2],color=black, title="de oplossing van een eerste-orde DV
(gestuurd systeem)");11.2.2 Het aanbieden van de DV en de gedaante van de oplossingVoorbeeld 11.3 Impliciete oplossing en lijnelementenveldrestart; with(plots):with(DEtools): DV:=diff(y(x),x)=exp(x)/y(x); RV1,RV2,RV3:=y(1)=1,y(1)=-2,y(1)=3;opl1:=dsolve({DV,RV1},y(x));opl2:=dsolve({DV,RV2},y(x));opl3:=dsolve({DV,RV3},y(x),implicit);p1:=plot({rhs(opl1),rhs(opl2)},x=-5..5,y=-10..10,thickness=[3,1],color=[black,blue]):p2:=implicitplot(opl3,x=-3..5,y=-10..10,color=black,linestyle=2,thickness=2):p3:=plot({[1,1],[1,-2],[1,3]},style=point,symbolsize=15,symbol=circle,color=black):p4:=textplot({[1.15,1,"RV1"],[1,-2,"RV2"],[1,3.3,"RV3"]},align={RIGHT,ABOVE},font=[TIMES,ITALIC,10]):with(DEtools):lijnelementenveld:=dfieldplot(DV,y(x),x=-5..5,y=-10..10,color=gray,arrows=line):display({lijnelementenveld,p1,p2,p3,p4},title="lijnelementenveld met integraalkrommen");Voorbeeld 11.4 Rolverwisseling van de variabelenrestart; DV1:=diff(y(x),x)=cos(y(x)); RV1:=y(2)=1;DV2:=diff(x(y),y)=1/cos(y); RV2:=x(1)=2;evalf(dsolve({DV2,RV2},x(y)));Voorbeeld 11.5 Overgaan op een stelsel lineaire eerste-orde DV's, faseportret, vectorveld, singulier punt en eigenwaardenrestart; with(plots): DV:=diff(y(x),x)=(4*x+y(x))/(x+y(x));dsolve({DV,y(-0.5)=-2},y(x)):DEtools[dfieldplot](DV,y(x),x=-5..5,y=-5..5);DVx:=diff(x(t),t)=x(t)+y(t); DVy:=diff(y(t),t)=4*x(t)+y(t); RV1:=x(0)=-0.5,y(0)=-2;RV2:=x(0)=3,y(0)=1;opl1:=dsolve({DVx,DVy,RV1},{x(t),y(t)});opl2:=dsolve({DVx,DVy,RV2},{x(t),y(t)});Matrix([[1,1],[4,1]]),LinearAlgebra[Eigenvectors](Matrix([[1,1],[4,1]]),output=list);DEtools[dfieldplot]([DVx,DVy],[x(t),y(t)],t=-5..5,x=-5..5,y=-5..5,color=gray);p1:=DEtools[phaseportrait]([DVx,DVy],[x(t),y(t)],t=-3..1,[[RV1],[RV2]],x=-5..5,y=-5..5,stepsize=0.05,color=gray,thickness=4,linecolor=abs(sin(t*Pi/2))):
p2:=fieldplot([x+y,4*x+y],x=-5..5,y=-5..5,color=black,arrows=slim,thickness=2):
p3:=plot({[-0.51,-2],[3,1]},style=point,color=black,symbolsize=20,symbol=circle):
p4:=textplot({[-0.5,-2,"RV1"],[3,1,"RV2"]},align={LEFT,ABOVE},font=[TIMES,BOLDITALIC,12]):
display({p1,p2,p3,p4},labels=["X","Y"],labelfont=[TIMES,BOLDITALIC,12],title="faseportret van het stelsel vergelijkingen
met daarin het vectorveld en enkele oplossingen",scaling=constrained);11.3 Differentiaalvergelijkingen van de tweede orde11.3.1. Lineaire DV's met constante co\303\253ffici\303\253ntenVoorbeeld 11.6 Ongestuurd lineair systeem van de tweede orderestart; DV:=diff(y(t),t$2)+a*diff(y(t),t)+3*y(t)=0; RV:=y(0)=1,D(y)(0)=0;dsolve(DV,y(t)); Opl:=rhs(dsolve({DV,RV},y(t))):a:=1: Oplossing['a'=1]:=rhs(dsolve({DV,RV},y(t)));a:=4: Oplossing['a'=4]:=rhs(dsolve({DV,RV},y(t)));a:='a':plot([Oplossing['a'=1],Oplossing['a'=4]],t=0..5,thickness=[2,1],linestyle=[1,2],legend=["a=1","a=4"],title="Lineair systeem, tweede orde, ongestuurd
a loopt van 1 tot 4");with(plots): animate(plot,[Opl,t=0..5],a=1..4);Voorbeeld 11.7 Gestuurd massa-veersysteemrestart; DV:=m*diff(y(t),t$2)+c*diff(y(t),t)+k*y(t)=F;m,c,k:=1,2.0,8;BV:=y(0)=0,D(y)(0)=0;F:=Heaviside(t);Y:=rhs(dsolve({DV,BV},y(t),method=laplace));evalf(%):responsie:=plot(Y,t=0..15,title="RESPONSIE"):
input:=plot(F,t=0.01..15,title="INPUT"):
with(plots):display(array([input,responsie]),scaling=constrained);with(inttrans): H:=laplace(Y,t,s)/laplace(F,t,s);solve(denom(H)=0,s);F1:=PIECEWISE([0,t<0],[t/4,t<=6],[0,t>6]);F:=convert(F1,Heaviside);?dsolve[numeric]11.3.2 Niet-lineaire systemenVoorbeeld 11.8 Model van de niet-lineaire slingerrestart; with(plots): with(DEtools):
dv:=diff(y(t),t,t)+c*diff(y(t),t)+sin(y(t))=0;
dsolve[interactive](dv);c:=0.1:
dsolve({dv,y(0)=0,D(y)(0)=2},y(t),numeric,output=array([0,5,10,15,20]));
opl1:=dsolve({dv,y(0)=0,D(y)(0)=2},y(t),numeric);
opl1(12);opl2:=dsolve({dv,y(0)=0,D(y)(0)=2.3},y(t),numeric):
opl3:=dsolve({dv,y(0)=0,D(y)(0)=2.9},y(t),numeric):
p1:=odeplot(opl1,[t,y(t)],0..25,color=black):
p2:=odeplot(opl2,[t,y(t)],0..25,color=black,linestyle=2):
p3:=odeplot(opl3,[t,y(t)],0..25,color=gray,thickness=3):
p4:=plot({2*Pi,4*Pi},t=0..25,linestyle=3):display({p1,p2,p3,p4},title="numerieke oplossingen van de niet-lineaire slinger
hoe groter de beginsnelheid hoe hoger de grafiek");Voorbeeld 11.9 Onderzoek van de niet-lineaire slingerrestart; with(plots): with(DEtools):dv1:=diff(y(t),t)=z(t); dv2:=diff(z(t),t)=-c*z(t)-sin(y(t));c:=0.1;
dfieldplot([dv1,dv2],[y(t),z(t)],t=-3..3,y=-5..16,z=-5..5);
RV1,RV2,RV3:=[y(0)=0,z(0)=2],[y(0)=0,z(0)=2.3],[y(0)=0,z(0)=2.9];phaseportrait([dv1,dv2],[y(t),z(t)],t=0..20,[RV1,RV2,RV3],y=-2..16,z=-2..3,stepsize=0.05,color=grey,linecolor=abs(sin(t)),title="faseportret met horizontaal de uitwijking
en verticaal de snelheid",scaling=constrained);
plots[fieldplot]([z,c*z-sin(y)],y=-2..6,z=-2..2,scaling=constrained);11.4 Algemene tips voor differentiaalvergelijkingenVoorbeeld 11.10 functienotatierestart; dv:=diff(V(t),t)=k*opp(t);V:=t->4/3*Pi*r(t)^3; opp:=t->4*Pi*r(t)^2;Er is hier dus gebruik gemaakt van de offici\303\253le functienotatie van het Volume als functie van de tijd t en van de oppervlakte als functie van t waarbij er van uitgegaan wordt dat r ook weer een functie is van t. Alles automatisch ingevuld in de differentiaalvergelijking. Deze wordt dan een differentiaalvergelijking in NiMtJSJyRzYjJSJ0Rw==.dv;Vervolgens kan deze differentiaalvergelijking drastisch vereenvoudigd worden door links en rechts te delen door NiMqKCIiJSIiIiUjUGlHIiIiKS0lInJHNiMlInRHIiIjIiIi.dv1:=dv/(4*Pi*r(t)^2);