Hey there Sign in to join this conversationNew here? Join for free

Solving a System of Non-linear ODEs on Matlab

Announcements Posted on
    • Thread Starter
    • 1 follower
    Offline

    ReputationRep:
    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

Reply

Submit reply

Register

Thanks for posting! You just need to create an account in order to submit the post
  1. this can't be left blank
    that username has been taken, please choose another Forgotten your password?

    this is what you'll be called on TSR

  2. this can't be left blank
    this email is already registered. Forgotten your password?

    never shared and never spammed

  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
    your full birthday is required
  1. By joining you agree to our Ts and Cs, privacy policy and site rules

  2. Slide the button to the right to create your account

    Slide to join now Processing…

Updated: March 25, 2012
New on TSR

Your favourite film of the year?

For you personally what has been the best 2014 movie

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