I am attempting to set up a model for a suspension on a mass of 100kg with k=17kN/M and a damping ratio of 0.5. The system is modelled as a simple spring damper system.

1 view (last 30 days)
The model below is attempting to model a base excited spring damper system. I feel like the issue is that the initial sinusoidal model is time dependent whilst it should be dependent on position, however I don't know how to resolve this.
clear
clc
t=0:0.1:15; %time peroid
Y0= input('wave amplitude ') ; %Wave amplitude
l= input('length of wave ') ; %length of the wave
u=input('speed of boat'); %Boat Velocity
w=u/l; %frequency of wave
y=Y0*sin(w*t); %wave height model
Dr=0.5; %Required Damping Ratio
k=17000; %Spring Constant of suspension
m=100;
wn=(k/m)^0.5;
wd=wn*(1-Dr^2)^0.5;
if (wd<6)
error('Suspension excessively soft') %test for suspension softness
end
r=w/wn; %Frequency ratio
b=2*Dr*(k*m)^(0.5); %Damping coefficient
i=(1-r^2)^2+(2*Dr*r)^2;
X0=(r^2)*Y0/(i^0.5); %Maximum amplitude of displacement
T=atan((2*Dr*r)/(1-r^2)); %Phase Lag
x=X0*sin(w*t-T); %Displacement of sprung mass
x1=X0*w*cos(w*t-T);
x2=-X0*w^2*sin(w*t-T);
plot(t,x);
X1mean=mad(x1);
Xmax=max(x);
X1max=max(x1);
This code outputs values, however they aren't what I would expect to see. I am looking to get the amplitude of excitement as well as a velocity profile.

Answers (0)

Community Treasure Hunt

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

Start Hunting!