I need help with step function

33 views (last 30 days)
Anna Zito
Anna Zito on 25 Jun 2020
Edited: Peter O on 26 Jun 2020
I am unfamiliar with the step function. Attached is a photo of my work. Here is my question:
A vehicle encounters a bump that changes the road surface height by a finite amount. The excitation can be modeled as a step input magnitude of 0.03 m for Xse. Select a suitable time range and time increments to compute the head displacement x1 in cm, the head acceleration in g’s for t=0 to tf, and the relative neck displacement x1-x2 for t=0 to tf.

Answers (1)

Peter O
Peter O on 26 Jun 2020
Edited: Peter O on 26 Jun 2020
Hi Anna,
The (unit) step function is basically a function that goes from 0 to 1, generally at time 0, scaled by whatever magnitude follows it. It's usually expressed as in the time domain. You can shift when it kicks by adding an offset to the function. To have it change from 0 to 1 at t=5 seconds, you would write . In controls or and dynamic systems analysis, it's a useful input to give to a system (for historical reasons, often called a plant), to get an idea of how the system will react when changing a setpoint or equilibrium position.
Your question is asking you to solve a dynamic system (the positions and velocities of all of your test dummy's mass points in the PDF) given that there's an immedate (and permanent) change in the position of the seat from x=0 to x=0.03 at t=0. The step function here is just an initial condition 'kick' to move the system out of equilibrium. It will have zero velocity. Intuitively, you can imagine that suddenly K4 and C4 get smooshed and will react by exerting force onto the crash dummy's thighs, which exerts force up the chain to the head, and everything will wobble until the dashpots dissipate the energy from the system.
It appears you've got the system set up in a state space, so I think you're in a good spot to solve the system of ODEs for your answers! Within MATLAB, ode45 should be able to solve the system to give you the full dynamic response.
Alternatively, you can also use MATLAB's step() command (available in the control system toolbox) on a state space system you've defined, and it will plot out the system ring for you.
It has a few options, configured using https://www.mathworks.com/help/control/ref/stepdataoptions.html
State Space (the dynamic model that step() is asking for): Define using ss() command and the system you've defined from your notes: https://www.mathworks.com/help/control/ref/ss.html
So, it would look something like:
% From your notes
A = [...] % That 8x8, with k1..k4, c1...c4, m1..m4 substituted
B = [] % That 8x2
% Outputs: Use identities to see each state, and skip the input's contribution
C = eye(8);
D = zeros(8,2);
crashdummy_sys = ss(A,B,C,D); % Define a continuous, linear, state space model
opts = stepDataOptions('StepAmplitude',0.3); % Tweak the step amplitude.
step(crashdummy_sys, opts); % This should make a plot for you.
% You'll get plots for each state. To alter the outputs seen, tweak C to multiply certain states by zero.
I hope this helps!


Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!