introduction to odes in scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf ·...
TRANSCRIPT
![Page 1: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/1.jpg)
Introduction to ODEs in Scilab
Aditya Sengupta
Indian Institute of Technology [email protected]
April 15th, 2010, Smt. Indira Gandhi College of Engineering
![Page 2: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/2.jpg)
Scilab can be used to model and simulate a variety of systems,such as:
1 Ordinary Differential Equations
2 Boundary Value Problems
3 Difference Equations
4 Differential Algebraic Equations
We will deal with Ordinary Differential Equations in this talk.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 3: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/3.jpg)
Scilab can be used to model and simulate a variety of systems,such as:
1 Ordinary Differential Equations
2 Boundary Value Problems
3 Difference Equations
4 Differential Algebraic Equations
We will deal with Ordinary Differential Equations in this talk.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 4: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/4.jpg)
We will do two things:
1 Model the ODE in a way Scilab can understand.
2 Solve the system for a given set of initial values.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 5: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/5.jpg)
Modeling the system
We will model the system as a first-order equation:
y = f (t, y)
Note: Scilab tools assume the differential equation to have beenwritten as first order system.Some models are initially written in terms of higher-orderderivatives, but they can always be rewritten as first-order systemsby the introduction of additional variables
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 6: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/6.jpg)
Modeling the system
We will model the system as a first-order equation:
y = f (t, y)
Note: Scilab tools assume the differential equation to have beenwritten as first order system.Some models are initially written in terms of higher-orderderivatives, but they can always be rewritten as first-order systemsby the introduction of additional variables
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 7: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/7.jpg)
Modeling the system
We will model the system as a first-order equation:
y = f (t, y)
Note: Scilab tools assume the differential equation to have beenwritten as first order system.Some models are initially written in terms of higher-orderderivatives, but they can always be rewritten as first-order systemsby the introduction of additional variables
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 8: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/8.jpg)
Example
Let us consider the simple system:
dx
dt= sin(2t)
We can model this system using this code:
1 f u n c t i o n dx = f (t , x )2 dx = s i n (2∗ t ) ;3 e nd f un c t i o n
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 9: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/9.jpg)
Example
Let us consider the simple system:
dx
dt= sin(2t)
We can model this system using this code:
1 f u n c t i o n dx = f (t , x )2 dx = s i n (2∗ t ) ;3 e nd f un c t i o n
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 10: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/10.jpg)
Solution
We know that the solution is supposed to be
x = −1
2cos(2t) + c
where c is a constant that depends on the initial value of theproblem.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 11: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/11.jpg)
Depending on the initial value, the plot will look like this:
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 12: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/12.jpg)
Solving an ODE in Scilab
The simulation tool we will use for solving ODEs in Scilab is theode functionThe simplest calling sequence for ode is:
y=ode(y0, t0, t, f)
where y0 is the initial value at t0 and t contains the points intime at which the solution is to be determined. f is the functioncorresponding to
y = f (t, y)
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 13: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/13.jpg)
For our example, we will take the initial value to be y0 = -0.5 att0 = 0.Let us evaluate the ODE from t = 0:0.1:5.The code is:
1 t0 = 02 x0 = −0.53 t = 0 : 0 . 1 : 5 ;4 x = ode ( x0 , t0 , t , f ) ;5 p l o t 2d (t , x )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 14: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/14.jpg)
For our example, we will take the initial value to be y0 = -0.5 att0 = 0.Let us evaluate the ODE from t = 0:0.1:5.The code is:
1 t0 = 02 x0 = −0.53 t = 0 : 0 . 1 : 5 ;4 x = ode ( x0 , t0 , t , f ) ;5 p l o t 2d (t , x )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 15: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/15.jpg)
You should get a graph that looks like this:
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 16: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/16.jpg)
Higher Order Derivatives
When we have ODEs formulated in terms of higher orderderivatives, we need to rewrite them as first-order systems. We dothis by using variables to fill in the intermediate order derivaties.For example, let us consider the system:
d2y
dt2= sin(2t)
whose one solution we can easily guess to be y = −(1/4)sin(2t)
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 17: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/17.jpg)
Higher Order Derivatives
When we have ODEs formulated in terms of higher orderderivatives, we need to rewrite them as first-order systems. We dothis by using variables to fill in the intermediate order derivaties.For example, let us consider the system:
d2y
dt2= sin(2t)
whose one solution we can easily guess to be y = −(1/4)sin(2t)
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 18: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/18.jpg)
We convert the second order equation into two first orderequations:
dy/dt = z
dz/dt = sin(2t)
Therefore, we have the ode in the form:
dx/dt = f (t, x)
where dx and x are vectors:
x = [z ; sin(2t)]
dx = [dy/dt; dz/dt]
We then proceed to replace z , dy/dt, and dz/dt with vectorcomponents x(2), dx(1), and dx(2)
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 19: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/19.jpg)
We convert the second order equation into two first orderequations:
dy/dt = z
dz/dt = sin(2t)
Therefore, we have the ode in the form:
dx/dt = f (t, x)
where dx and x are vectors:
x = [z ; sin(2t)]
dx = [dy/dt; dz/dt]
We then proceed to replace z , dy/dt, and dz/dt with vectorcomponents x(2), dx(1), and dx(2)
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 20: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/20.jpg)
We convert the second order equation into two first orderequations:
dy/dt = z
dz/dt = sin(2t)
Therefore, we have the ode in the form:
dx/dt = f (t, x)
where dx and x are vectors:
x = [z ; sin(2t)]
dx = [dy/dt; dz/dt]
We then proceed to replace z , dy/dt, and dz/dt with vectorcomponents x(2), dx(1), and dx(2)
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 21: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/21.jpg)
We model the system thus:
1 f u n c t i o n dx = f (t , x )2 dx (1 ) = x (2 )3 dx (2 ) = s i n (2∗ t )4 end f un c t i o n
and simulate the ODE thus:
1 t = 0 : 0 . 0 1 : 4 ∗ %pi ;23 y=ode ( [ 0 ; −1/2] , 0 , t , f ) ;4 // Note the impor tance o f g i v i n g c o r r e c t s t a r t i n g v a l u e s .
Try to put a l t e r n a t e s t a r t i n g v a l u e s and see thed i f f e r e n c e .
56 p l o t 2d (t ’ , [ y ( 1 , : ) ’ y (2 , : ) ’ ] )7 // The cu r ve i n b l a c k i s the f i n a l s o l u t i o n . The o th e r cu r v e
i s f o r i l l u s t r a t i o n − to show the i n t e rm e d i a t e s t ep .
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 22: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/22.jpg)
We model the system thus:
1 f u n c t i o n dx = f (t , x )2 dx (1 ) = x (2 )3 dx (2 ) = s i n (2∗ t )4 end f un c t i o n
and simulate the ODE thus:
1 t = 0 : 0 . 0 1 : 4 ∗ %pi ;23 y=ode ( [ 0 ; −1/2] , 0 , t , f ) ;4 // Note the impor tance o f g i v i n g c o r r e c t s t a r t i n g v a l u e s .
Try to put a l t e r n a t e s t a r t i n g v a l u e s and see thed i f f e r e n c e .
56 p l o t 2d (t ’ , [ y ( 1 , : ) ’ y (2 , : ) ’ ] )7 // The cu r ve i n b l a c k i s the f i n a l s o l u t i o n . The o th e r cu r v e
i s f o r i l l u s t r a t i o n − to show the i n t e rm e d i a t e s t ep .
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 23: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/23.jpg)
Root Finding
Sometimes- we just want to simulate a differential equation up tothe time that a specific event occurs.For example, an engine being revved until it reaches a particularspeed- after which the gear is to be changed.For such circumstances, we need to define a quantity that signalsthe occurance of the event.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 24: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/24.jpg)
Root Finding
Sometimes- we just want to simulate a differential equation up tothe time that a specific event occurs.For example, an engine being revved until it reaches a particularspeed- after which the gear is to be changed.For such circumstances, we need to define a quantity that signalsthe occurance of the event.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 25: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/25.jpg)
Root Finding
Sometimes- we just want to simulate a differential equation up tothe time that a specific event occurs.For example, an engine being revved until it reaches a particularspeed- after which the gear is to be changed.For such circumstances, we need to define a quantity that signalsthe occurance of the event.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 26: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/26.jpg)
In Scilab we use the ode root function, which is called thus:
[y, rd] = ode("root", y0, t0, t, f, ng, g)
where g is a function that becomes zero valued when theconstraining event occurs and ng is the size of g.rd is a vector that contains the stopping time as its first element.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 27: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/27.jpg)
In Scilab we use the ode root function, which is called thus:
[y, rd] = ode("root", y0, t0, t, f, ng, g)
where g is a function that becomes zero valued when theconstraining event occurs and ng is the size of g.rd is a vector that contains the stopping time as its first element.
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 28: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/28.jpg)
Example
Let us consider the example of the engine that is revved. We wishto constrain the revving of the engine till it reaches a certain point.We build a first order approximation of an engine using thefollowing code (call it engine.sci):
1 f u n c t i o n d_revs = engine (t , revs )2 d_revs = %eˆ(−revs )3 end f un c t i o n
We can simulate the behaviour of the engine when it isunconstrained using the following code:
1 exec engine . sci2 revs = ode (0 , 0 , 0 : 0 . 1 : 1 0 , engine ) ;3 p l o t 2d ( 0 : 0 . 1 : 1 0 , revs )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 29: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/29.jpg)
Example
Let us consider the example of the engine that is revved. We wishto constrain the revving of the engine till it reaches a certain point.We build a first order approximation of an engine using thefollowing code (call it engine.sci):
1 f u n c t i o n d_revs = engine (t , revs )2 d_revs = %eˆ(−revs )3 end f un c t i o n
We can simulate the behaviour of the engine when it isunconstrained using the following code:
1 exec engine . sci2 revs = ode (0 , 0 , 0 : 0 . 1 : 1 0 , engine ) ;3 p l o t 2d ( 0 : 0 . 1 : 1 0 , revs )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 30: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/30.jpg)
Example
Let us consider the example of the engine that is revved. We wishto constrain the revving of the engine till it reaches a certain point.We build a first order approximation of an engine using thefollowing code (call it engine.sci):
1 f u n c t i o n d_revs = engine (t , revs )2 d_revs = %eˆ(−revs )3 end f un c t i o n
We can simulate the behaviour of the engine when it isunconstrained using the following code:
1 exec engine . sci2 revs = ode (0 , 0 , 0 : 0 . 1 : 1 0 , engine ) ;3 p l o t 2d ( 0 : 0 . 1 : 1 0 , revs )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 31: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/31.jpg)
We then write the constraining function (call it gearbox.sci):
1 f u n c t i o n stop = gearbox (t , revs )2 stop = 1.5 − revs //We choose to s top the eng i n e when
the r e v s r each the v a l u e 1 .5 (You can choose anyo th e r v a l u e )
3 end f un c t i o n
We then simulate the behaviour of the engine when it isconstrained as above.
1 exec engine . sci2 exec gearbox . sci3 [ revs , stop_time ]= ode ( ” r oo t ” , 0 , 0 , 0 : 0 . 1 : 1 0 , engine , 1 ,
gearbox ) ;4 p l o t 2d ( [ 0 : 0 . 1 : stop_time (1 ) , stop_time (1 ) ] , revs )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 32: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/32.jpg)
We then write the constraining function (call it gearbox.sci):
1 f u n c t i o n stop = gearbox (t , revs )2 stop = 1.5 − revs //We choose to s top the eng i n e when
the r e v s r each the v a l u e 1 .5 (You can choose anyo th e r v a l u e )
3 end f un c t i o n
We then simulate the behaviour of the engine when it isconstrained as above.
1 exec engine . sci2 exec gearbox . sci3 [ revs , stop_time ]= ode ( ” r oo t ” , 0 , 0 , 0 : 0 . 1 : 1 0 , engine , 1 ,
gearbox ) ;4 p l o t 2d ( [ 0 : 0 . 1 : stop_time (1 ) , stop_time (1 ) ] , revs )
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 33: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/33.jpg)
Compare the two graphs- can you see where the simulation washalted in the second case?
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 34: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/34.jpg)
Linear Systems
Since they appear so often, there are special functions for modelingand simulating linear systems.For instance, you can create a linear system thus:
1 s = po l y (0 , ’ s ’ )2 sys = s y s l i n ( ’ c ’ , 1/( s+1) )
and simulate it thus:
1 t = 0 : 0 . 1 : 1 0 ;2 y = csim ( ’ s t e p ’ , t , sys ) ;3 p l o t 2d (t , y ) ;45 z = csim ( s i n (5∗ t ) , t , sys ) ;6 p l o t 2d (t , z ) ;78 bode ( sys , 0 . 01 , 100) ;
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 35: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/35.jpg)
Linear Systems
Since they appear so often, there are special functions for modelingand simulating linear systems.For instance, you can create a linear system thus:
1 s = po l y (0 , ’ s ’ )2 sys = s y s l i n ( ’ c ’ , 1/( s+1) )
and simulate it thus:
1 t = 0 : 0 . 1 : 1 0 ;2 y = csim ( ’ s t e p ’ , t , sys ) ;3 p l o t 2d (t , y ) ;45 z = csim ( s i n (5∗ t ) , t , sys ) ;6 p l o t 2d (t , z ) ;78 bode ( sys , 0 . 01 , 100) ;
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 36: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/36.jpg)
Now try to:
Model and simulate your own systems
Use the help command to find more options
Aditya Sengupta, EE, IITB ODEs in Scilab
![Page 37: Introduction to ODEs in Scilabscilab.in/files/workshops/15-04-2010-mumbai/sengupta-ode.pdf · Introduction to ODEs in Scilab ... We convert the second order equation into ... We convert](https://reader031.vdocuments.net/reader031/viewer/2022021416/5ad455237f8b9a177c8b8983/html5/thumbnails/37.jpg)
Thanks
Aditya Sengupta, EE, IITB ODEs in Scilab