# Solving a System of Non-linear ODEs on Matlab

Announcements Posted on
Uni student? You could win a Samsung Galaxy S7 or £500 of travel vouchers by taking this quick survey 05-05-2016
1. I have a system of two non-linear ODEs which I am trying to solve numerically using Matlab. I have never used Matlab for this sort of thing, so I thought I'd work through a demo that they give in the Help files. These are the two pieces of code I'm using:

function [ dy ] = rigidtest( t,y )

y = zeros(3,1); % a column vector
dy(1,1) = y(2) * y(3);
dy(2,1) = -y(1) * y(3);
dy(3,1) = -0.51 * y(1) * y(2);

end
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigidtest,[0 12],[0 1 1],options);

plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
Now according to the Matlab demo I should get some nice sine-curve-looking graphs. But I get three straight lines, with no deviation from the initial conditions. Also, my [T,Y] vector is only 41 lines long!

Any idea what I'm doing wrong?

Thanks

Jez

## Register

Thanks for posting! You just need to create an account in order to submit the post
1. this can't be left blank
2. this can't be left blank
3. this can't be left blank

6 characters or longer with both numbers and letters is safer

4. this can't be left empty
1. Oops, you need to agree to our Ts&Cs to register

Updated: March 25, 2012
TSR Support Team

We have a brilliant team of more than 60 Support Team members looking after discussions on The Student Room, helping to make it a fun, safe and useful place to hang out.

This forum is supported by:
Today on TSR

Don't be late