Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Ode 45 (matlab)

  1. Sep 24, 2010 #1
    If we have differential variable of matrix kind ( with dimention 3*3 ) and non matrix ( with dimention 1) simaltanously and as a couple ,how can we use ode45 ?
    If we have only matrix kind , we can use m file of ode at first with the command of reshape (3,3) and then change it to column one.What is the solution in this case ?
    P,Q,Q :matrices 3*3
    Pdot= A*P +P*A’ +Q
    K=P*[1 0 0]
    xdot(1) =f(x(1),x(2),x(3)) +k(1)*x(1)
    xdot(2)=g(x(1),x(2),x(3)) +k(2)*x(2)
    xdot(3)=h(x(1) ,x(2),x(3)) +k(3)*x(3)
    x0=[ xa;xb;xc]
    P0=x01

    Example (only matrix differential equation) :
    %-----MAIN M-FILE--------------
    clear all
    %-----VARIABLE SET-UP--------------

    A = [0 1 0; 0 0 5; 1 2 3];
    Q = [1 0 0; 0 0.5 0; 0 0 0.9];
    %-----TO RUN and PLOT ODE SOLUTION--------------
    t01= 0;
    tf1=30;
    tspan1 = LINSPACE(t01, tf1);
    X01=zeros(3);
    [Time1,X1] = ode45(@(t,X) odefuncare(t,X,A,Q),tspan1,X01);
    plot(Time1,X1)
    %-------ODEFUNCTION------------------
    function dxdt = odefuncare(t,X,A,Q)
    X = reshape(X,3,3); %converting X from a column vector generated by ode45 into a 5 x 5 Matrix
    dxdt=A*x +x*A’ +Q
    dxdt = dxdt(:); %converting dxdt into a column vector as expected by ode45
     
    Last edited: Sep 24, 2010
  2. jcsd
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?
Draft saved Draft deleted



Similar Discussions: Ode 45 (matlab)
  1. Solving ODE in matlab (Replies: 4)

  2. ODE/PDE's in Matlab (Replies: 6)

  3. Matlab and ODE's (Replies: 2)

Loading...