blork
blork

Reputation: 2220

MATLAB: Using ODE solvers?

This is a really basic question but this is the first time I've used MATLAB and I'm stuck. I need to simulate a simple series RC network using 3 different numerical integration techniques. I think I understand how to use the ode solvers, but I have no idea how to enter the differential equation of the system. Do I need to do it via an m-file?

It's just a simple RC circuit in the form:

RC dy(t)/dt + y(t) = u(t)

with zero initial conditions. I have the values for R, C the step length and the simulation time but I don't know how to use MATLAB particularly well.

Any help is much appreciated!

Upvotes: 1

Views: 2266

Answers (1)

MatlabDoug
MatlabDoug

Reputation: 5714

You are going to need a function file that takes t and y as input and gives dy as output. It would be its own file with the following header.

function dy = rigid(t,y)

Save it as rigid.m on the MATLAB path.

From there you would put in your differential equation. You now have a function. Here is a simple one:

function dy = rigid(t,y)

dy = sin(t);

From the command line or a script, you need to drive this function through ODE45

[T,Y] = ode45(@rigid,[0 2*pi],[0]);

This will give you your function (rigid.m) running from time 0 through time 2*pi with an initial y of zero.

Plot this:

plot(T,Y)

alt text

More of the MATLAB documentation is here:

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ode23tb.html

Upvotes: 4

Related Questions