(adsbygoogle = window.adsbygoogle || []).push({}); 1. The problem statement, all variables and given/known data

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 ?

2. Relevant equations

P,A,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

3. The attempt at a solution

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

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Homework Help: Ode45 matlab

**Physics Forums | Science Articles, Homework Help, Discussion**