MATLAB: How to give input function dz/dt=Z*omega*cos(omega) to state space system state space input 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. Best Answer Do you mean something along these lines:tspan = [0 2]; % Or whatever you needIC = [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'),gridfunction 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)] Related SolutionsMATLAB: Plotting cos(omega*t) This might guide you a little:t = linspace(0,10,1000) ; % time vector f = 20 ; % a frequencyomega = 2.*pi.*f ; % calculate omegay = cos(omega.*t) ; % calculate cosine for this time spanplot(t,y) % plot it(btw, I prefer to use the .* notation for multiplication) MATLAB: How to produce capital omega In R2020a, I get this Related QuestionI am trying to find omega using whileObtaining displacement from acceleration with omega arithmeticHow can i use a “while” loop to automatically increment omegaAll necessary functions have been defined except for tout and omega,How write a function that takes a matrix and period omega
Best Answer