Solving Ordinary Differential Equations

Problem - Solve the system of equations and determinate x(t) and y(t):
Equation 1: mv * A * L* y'' + 2 * mv * A * g * y = - mv * A * B * sin (wf * t)
Equation 2: ( M+ mv * A * L ) * x'' + mv * A * B * y'' + M * ws^2 * x= - (M + mv * A * L) * sin (wf * t)
Constants: mv=1; A=7.5*10^-4; B=20*10^-2; L=50*10^-2; g=9.81; wf=5.3; ws=5.3; M=(0.373+0.306/3+0.306/3)*10^-3;
It´s a engineering problem, there are motion equations and x and y are, respectively, the horizontal and vertical displacement. Anyone can help me solve this system? Already have the Symbolic Math Toolbox.

Answers (1)

In Maple it is
dsolve([mv*A*L*(diff(y(t), t, t))+2*mv*A*g*y(t) = -mv*A*B*sin*wf*t, (M+mv*A*L)*(diff(x(t), t, t))+mv*A*B*(diff(y(t), t, t))+M*ws^2*x(t) = -(M+mv*A*L)*sin*wf*t])
and you should be able to use a quite similar syntax with the symbolic toolbox.
You have the second derivative of x and the second derivative of y, so you would need at least 4 equations to resolve all the constants of integrations (the boundary conditions). Maple's answer leaves four constants of integration undefined.

3 Comments

Thanks for the answer Walter Roberson.
I have some problems in MATHLAB because never now what window I introduce the code. I have a Editor with this code to solve that system (adapted from the MATHLAB Help):
function xprime = odetest(t,x)
% x(1) = x
% x(2) = y
% x(3) = w
% x(4) = z
mv=1;
A=7.5*10^-4;
B=20*10^-2;
L=50*10^-2;
g=9.81;
wf=5.3;
ws=5.3;
M=(0.373+0.306/3+0.306/3)*10^-3;
xprime(1) = x(3);
%x'=w
xprime(2) = x(4);
%y'=z
xprime(4) = (- mv * A * B * sin (wf * t) - 2 * mv * A * g * x(2))/(mv * A * L);
xprime(3) = (- (M + mv * A * L) * sin (wf * t) - mv * A * B * xprime(4) - M * ws^2 * x(1))/(( M + mv * A * L ));
xprime = xprime (:);
ti=0;
tf=20;
xi = [0 0 0];
[t,s] = ode45(@odetest,[ti,tf],xi);
x = s(:,1);
y = s(:,2);
Now I open the TOOLBOX MuPAD (for engenieering problems). But I don´t unsderstand how can I can get some results (the results are x(t) and y(t)) or if I really need that TOOLBOX. Can you help me with that?
Thanks
At the MATLAB command line, try
S = dsolve('mv*A*L*(diff(y(t), t, t))+2*mv*A*g*y(t) = -mv*A*B*sin*wf*t', '(M+mv*A*L)*(diff(x(t), t, t))+mv*A*B*(diff(y(t), t, t))+M*ws^2*x(t) = -(M+mv*A*L)*sin*wf*t');
Snum = subs(S);
The first line tries to solve the pair of differential equations completely symbolically, and the second line substitutes in the numeric values for the various constants.
Thank's for the help ;)

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Tags

Asked:

on 23 Jan 2012

Edited:

on 4 Oct 2013

Community Treasure Hunt

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

Start Hunting!