How to give input function dz/dt=Z*omega*cos(omega) to state space system?

3 views (last 30 days)
EOm=4mu''+30 cu'+3ku=12cz'
Let
m=1000
k=5000
c=0.02*2*sqrt(Ke*Me)
How to write above equation in state space veriables?
I am confused with the part at R.H.S. 12cz', input= z(t)=Zcos(omega)
Kindly gude.

Accepted Answer

Alan Stevens
Alan Stevens on 18 Oct 2020
Edited: Alan Stevens on 18 Oct 2020
Do you mean something along these lines:
tspan = [0 2]; % Or whatever you need
IC = [1 0]; % Set your own initial conditions IC = [u(0) dudt(0)]
[t, U] = ode45(@fn, tspan, IC);
u = U(:,1); dudt = U(:,2);
plot(t,u,'r',t,dudt,'b'),grid
function dUdt = fn(t,U)
m=1000;
k=5000;
Ke = 1000; % Set to your own value
Me = 1000; % Ditto
Z = 1000; % Ditto
omega = 10; % Ditto
c=0.02*2*sqrt(Ke*Me);
% I suspect you want z = Z*sin(omega*t), so that
% dz/dt = Z*omega*cos(omega*t)
dzdt = Z*omega*cos(omega*t);
M = [1 0; 0 4*m];
K = [0 -1; 3*k 30*c];
V = [0; 12*c*dzdt];
dUdt = M^-1*(V - K*U);
end
% Let v = u', then your 2nd order equation becomes two ist order equations
% u' - v = 0
% 4*m*v' + 30*c*v + 3*k*u = 12*c*Z*omega*cos(omega*t)
% [1 0][u'] + [0 -1][u] = [0 ]
% [0 4*m][v'] [3*k 30*c][v] [12*c*Z*omega*cos(omega*t)]
  1 Comment
Sadia
Sadia on 19 Oct 2020
Thank you very much for the response. Yes you are right it was cos(omega*t) sorry about it. I also have to find Frequency response function, i-e U/Z and have to plot against frequency omega. I am working on it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!