Asked by Ebraheem Menda
on 28 Nov 2019 at 11:12

This is my system. I want to solve it using ode45.

I have solved this using ode45 but by keeping sin(2t)=0. the following is the code.

What changes i need to do to the following to solve my actual system.

function [y]= smc3()

clc

a=[0 1;-3 -4];

b=[0 1];

c=[1 0];

ic=[1 -2];

i=zeros(1,2);

[t y]=ode45(@smc4,[0 8],ic);

function [di]= smc4(~,i)

di = zeros(2,1); % a column vector

di(1) = a(1,1)*i(1)+a(1,2)*i(2)-b(1);

di(2) = a(2,1)*i(1)+a(2,2)*i(2)-b(2);

end

id=y(:,1);

iq=y(:,2);

plot(t,y(:,1),t,y(:,2));

end

Thanks in advance !!!!!

Answer by David Goodmanson
on 2 Dec 2019 at 7:53

Accepted Answer

Hi Ebraheem,

ode45 is fine with explicit time dependence in the calculation of xdot:

[t, x] = ode45(@smc5,[0, 10],[1, -2])

plot(t,x)

grid on

function xdot = smc5(t,x)

xdot = [0 1;-3 -4]*x + [0; 1]*sin(2*t);

end

Ebraheem Menda
on 4 Dec 2019 at 23:24

Thank you verymuch Mr.David.You have shown me the simple way to write the code for my problem.

i will again comeback with few more questions.

Thank You.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## Ebraheem Menda (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/493686-how-to-solve-the-equation-xdot-ax-bu-where-u-sin-2t#comment_772283

Sign in to comment.