Hi everyone, I'm trying to solve a first order ode in a matrix form using ode45:
where and
$Q=\begin{pmatrix} \sin(x) & 0 \\
0 & \cos(x) \\
\end{pmatrix}$ on .
Here is my code:
clear allz = 0, %parameter
n = 2;T0 = eye(n,n) xspan = [0 5*pi]; opts = odeset('RelTol',1e-8,'AbsTol',1e-8); [Tl] = ode45(@(x,T) odeTL(x,T,z,n),xspan,T0,opts); [q,~] = qr(Tl); Tl = q; T0 = Tl; [Tl] = ode45(@(x,T) odeTL(x,T,z,n),xspan,T0,opts); x1 = 5*pi;T = deval(Tl,x1); function dTdx = odeTL(x,T,z,n)Q = [sin(x) 0;0 cos(x)];V = Q-z*eye(n,n);W = T+eye(n,n);R = T-eye(n,n);Omg = eye(n,n)-0.5*R'*V*W;dTdx = T*Omg;end
As I run the code it said 'Matrix dimensions must agree' and I dont really see how the ode45 works for the matrix case?
Best Answer