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

9 ビュー (過去 30 日間)
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 件のコメント
Jan
Jan 2021 年 6 月 6 日
What does e.g. "(10,1)" mean? Normaly distributed around 10 withd std 1?
RAJESH M
RAJESH M 2021 年 6 月 7 日
(mean,standard deviation) = (10,1)

サインインしてコメントする。

採用された回答

Jan
Jan 2021 年 6 月 6 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by