differential equation 2DOF

------------------------------------------------------
function homework2 = main2(t,X1,X2)
global m1 c1 k1 m2 c2 k2
M=[m1 0;0 m2];
C=[c1+c2 -c2; -c2 c2];
K=[k1+k2 -k2; -k2 k2];
F=[3*cos(t);10*cos(3*t)];
X=[X1;X2];
homework2=M*X(3)+C*X(2)+K*X(1)-F;
end
-------------------------------------------------------
tspan= 0:0.1:50 ;
X0 = [0 0;0 0] ;
[t, X] = ode45(@main2, tspan, X0);
plot(X1,X2)
I do it here and it 's ain't working....

 Accepted Answer

Birdman
Birdman on 20 Mar 2020
You may try Symbolic Toolbox to solve the problem. Run the attached script to see the result.

5 Comments

alsgud qor
alsgud qor on 20 Mar 2020
Edited: alsgud qor on 20 Mar 2020
Thank you.but If using matrix is essential, what should I do? originally the purpose was that,ode45...like that.and as far as my knowledge goes, the basic ODE for that kind of thing is
for m1
F1=-k1x1-c1x1'+k2(x2-x1)+c2(x2'-x1')+mx1''
for m2
F2=m2x2''-c2x1'+c2x2'-k2x1+k2x2
so the entire thing should be
(the right side's 0 should turn into [F1 F2])
is it wrong?so I change it from your code to
eq1=F2==m2*diff(x2,2)+c2*(diff(x2,1)-diff(x1,1))+k2*(x2-x1);
eq2=F1==m1*diff(x1,2)+c1*diff(x1,1)+k1*x1;
this.and the result graph was this
I feel awkward cause you gave me something different.I hope it is my mistake
Sorry, my bad. By using the attached function, run the following code from command line:
yInitial=zeros(1,4); %initial conditions
tSpan=0:0.001:10; %time interval for the equations
[T,Y]=ode45(@(t,y) TwoMassSys(t,y), tSpan, yInitial); %solving by using ode45
plot(T,Y(:,1),T,Y(:,3));legend('X1','X2'); %plotting
Have you tried my last solution? It seems to be working fine.
um sorry.because of time lag, I just recieved it. let me ask some Q
  1. dydt = zeros(4,1); what does it mean?
  2. dydt(2) = (-k1/m1)*y(1)+(-c1/m1)*y(2)+F1; this part should be changed into 'F1/m1'? same with dydt(4)
  1. It means that I created a vector of zeros with 4 elements.
  2. Yes exactly, I missed that.

Sign in to comment.

More Answers (0)

Asked:

on 20 Mar 2020

Commented:

on 23 Mar 2020

Community Treasure Hunt

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

Start Hunting!