How to use ODE45 to solve 2nd order differential equation with random variables in it?

6 vues (au cours des 30 derniers jours)
In Quarter car model equations, (see above attached file for skematic model)
where
= sprung mass
= unsprung mass
= non- linear spring stifffness
= linear spring stiffness
= linera damper of damping coefficient
- Sinusodial function with Amplitude and frequency
are independent random variables with normal distribution.
how could i apply this random variables to the equations by using ode45 ?
I have done for one sample, any hint to simulate for 100 samples.
dt = 0.01;
tf = 30;
tspan = dt:dt:tf;
y0 = [0;100;0;10];
[t,y] = ode45('eqsystem',tspan,y0);
plot(y(:,1))
grid
xlabel('X-Displacement')
ylabel('y-Displacement')
title('X vs Y Displacement')
hold on;
function dydt = eqsystem(t,y)
ks = 1000; % N/m^3 - Gaussian
ku = 1000; % N/m - Gaussian
ms = 10; % kg - Gaussian
mu = 20; % kg - Gaussian
c = 300; % Ns/m - Gaussian
A = 0.10; % m -
omega = 2*pi; % rad/s -
dydt = zeros(4,1);
dydt(1,:) = y(2);
dydt(2,:) = ((-ks/ms)* (y(1)-y(3))^3 - (c/ms)*(y(2)-y(4)));
dydt(3,:) = y(4);
dydt(4,:) = ((ks/mu)*(y(1)-y(3))^3 + (y(2)-y(4)) + ku*(A*sin(omega*t) - y(3)));
end
  2 commentaires
Jan
Jan le 6 Juin 2021
What does e.g. "(10,1)" mean? Normaly distributed around 10 withd std 1?
RAJESH M
RAJESH M le 7 Juin 2021
(mean,standard deviation) = (10,1)

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 6 Juin 2021
dt = 0.01;
tf = 30;
tspan = dt:dt:tf;
y0 = [0;100;0;10];
for k = 1:100
ms = 10 + randn;
mu = 20 + randn * 2;
...
fcn = @(t, y) eqsystem(t, y, ms, mu, ...)
[t, y] = ode45('eqsystem',tspan,y0);
end
function dydt = eqsystem(t, y, ms, mu, ...)
dydt = zeros(4,1);
dydt(1) = y(2);
dydt(2) = (-ks / ms) * (y(1) - y(3))^3 - (c/ms) * (y(2) - y(4));
dydt(3) = y(4);
dydt(4) = (ks / mu) * (y(1) - y(3))^3 + (y(2) - y(4)) + ...
ku * (A * sin(omega * t) - y(3));
end

Plus de réponses (0)

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by