# Solving a System of Non-linear ODEs on Matlab

Announcements Posted on
Last day to win £100 of Amazon vouchers - don't miss out! Take our quick survey to enter 24-10-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

### How does exam reform affect you?

From GCSE to A level, it's all changing

### Q&A with Paralympian Jack Rutter

Poll
Study resources

The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.