Scilab has a very important and useful in-built function ode() which can be used to evaluate an ordinary differential equation or a set of coupled first order differential equations.
The syntax is as follows:
y=ode(y0,x0,x,f)
where,
y0=initial value of y
x0=initial value of xx=value of x at which you want to calculate y.
The following examples illustrate the use of the ode to solve a given differential equation:
funcprot(0)
clf;
function dx=f(x, y)
dx=exp(-x);
endfunction
y0=0;
x0=0;
x=[0:0.5:10];
sol=ode(y0,x0,x,f);
plot2d(x,sol,5)
xlabel('x');
ylabel('y(x)');
xtitle('y(x) vs. x');
Output:
funcprot(0)
clf;
function dx=f(x, y)
dx=x^2-exp(-x)*y;
endfunction
y0=0;
x0=0;
x=[0:0.5:10];
sol=ode(y0,x0,x,f);
plot2d(x,sol,5)
xlabel('x');
ylabel('y(x)');
xtitle('y(x) vs. x');
Output:
Video:
If you’re new to Scilab and are looking for some good quality tutorials then check out this playlist:
I’m a physicist specializing in computational material science with a PhD in Physics from Friedrich-Schiller University Jena, Germany. I write efficient codes for simulating light-matter interactions at atomic scales. I like to develop Physics, DFT, and Machine Learning related apps and software from time to time. Can code in most of the popular languages. I like to share my knowledge in Physics and applications using this Blog and a YouTube channel.



can we solve harmonic oscillator using ode command?but i am facing some problem.can you solve any 2nd order differential equation(physics based)
Hi there,
I have in fact created a couple of tutorials on how to sole a second order ode. Scilab can solve it numerically and then you can plot the results. So I believe a harmonic oscillator should be easy simulate.