[CHWisGevordTech] Voorbeelden met differentiaalvergelijkingen

1159 days ago by Carmen.Streat

Voorbeelden met differentiaalvergelijkingen

Bekijk http://doc.sagemath.org/html/en/reference/calculus/sage/calculus/desolvers.html voor een overzicht van mogelijke oplossingsmethoden voor differentiaalvergelijkingen (ODE= ordinary differential equation). 

Voorbeeld 1: oefening 2.2(d)

Bepaal de meest algemene oplossing van de DV van 1e orde  $y'(x) - 3y(x)=x$ .

x = var('x') y = function('y')(x) de=diff(y,x) -3* y == x desolve(de,y) 
       

                                
                            

                                

Vereenvoudig de bekomen oplossing tot de oplossing uit de cursus, nl: $y(x)=-\frac{1}{3}x-\frac{1}{9}+Ce^{3x}$:

desolve(de,y).simplify_full() 
       

                                
                            

                                

 

Voorbeeld 2:  Oefening 2.3

Bepaal de meest algemene oplossing van de DV van 1e orde  $y'(x) - \tan(x)y(x)=\cos(x)-2x\sin(x)$ :

x = var('x') y = function('y')(x) de=diff(y,x) -tan(x)* y == cos(x)-2*x*sin(x) desolve(de, y) 
       

                                
                            

                                
desolve(de, y).simplify_full() 
       

                                
                            

                                

En bepaal vervolgens de unieke oplossing waarvoor $y(\frac{\pi}{6})=0$ : De beginvoorwaarden geef je in met ics

ics - (optional) the initial or boundary conditions
for a first-order equation, specify the initial $x$ and $y$-> beginvoorwaarden bij een 1e orde DV
for a second-order equation, specify the initial $x$, $y$, and $dy/dx$, i.e. write $[x0,y(x0),y′(x0)]$ -> beginvoorwaarden bij een 2e orde DV
for a second-order boundary solution, specify initial and final $x$ and $y$ boundary conditions, i.e. write $[x0,y(x0),x1,y(x1)].$-> randvoorwaarden bij een 2e orde DV

x = var('x') y = function('y')(x) de=diff(y,x) -tan(x)* y == cos(x)-2*x*sin(x) desolve(de, y,ics=[pi/6,0]) 
       

                                
                            

                                

Om de oplossing uit de cursus te vinden, moeten we dit anders schrijven:

desolve(de, y,ics=[pi/6,0]).simplify_full() 
       

                                
                            

                                

Voorbeeld 3: Oefening 2.4

Bepaal de unieke oplossing van de  DV $a^2xy'(x)+y(x)(x^2-a^2)=0$ waarvoor $y(1)=\frac{1}{a^2}e^{-\frac{1}{2a^2}}$. Je mag hierbij aannemen dat $x>0$ en dat $a>0$.

For equations involving more variables we specify an independent variable:

ivar - (optional) the independent variable (hereafter called $x$), which must be specified if there is more than one independent variable in the equation.


a,x =var('a x') y = function('y')(x) de=a^2*x*diff(y,x)+ y*(x^2-a^2)==0 desolve(de,y,ivar=x,ics=[1,(1/a^2)*e^(-1/(2*a^2))]) 
       

                                
                            

                                

Om de oplossing te bekomen uit de cursus moeten we eerst nog veronderstelling maken, nl. dat $x>0$ en $a>0$ is.

assume(x>0) assume(a>0) de.simplify_full() 
       

                                
                            

                                

Vergeet niet om de gemaakte veronderstellingen ongedaan te maken:

forget() 
       

Voorbeeld 4: Oefening 2.13

Bepaal de oplossing van de DV van de 2de orde: $y''(x)-3y'(x)+2y(x)=xcos(x)+e^x$   waarbij  $y(0)=1$ en $y'(0)=0$.

x = var('x') y = function('y')(x) de=diff(y,x,2)-3*diff(y,x)+2*y==x*cos(x)+e^(x) desolve(de,y,ics=[0,1,0]) 
       

                                
                            

                                

De oplossing in de cursus bekom je door:

desolve(de,y,ics=[0,1,0]).expand() 
       

                                
                            

                                

Voorbeeld 5: Oefening 2.31(a)

Stelsel lineaire 1ste orde differentiaalvergelijkingen met beginvoorwaarden oplossen:

$\begin{cases} y'_1&=y_1+2y_2\\y'_2&=3y_1+2y_2 \end{cases} $   met $y_1(0)=0$ en $y_2(0)=-4$.

x=var('x') y1=function('y1')(x) y2=function('y2')(x) de1=diff(y1,x)==y1+2*y2 de2=diff(y2,x)==3*y1+2*y2 desolve_system([de1,de2],[y1,y2],ics=[0,0,-4])