Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- g = 9.8; % m/s^2
- M = 10; % kg
- H = 2; % m
- m = 5; % kg
- h = 0.1; % m
- A = 40; % J
- max_n = 30;
- v = zeros(1, max_n);
- % first plank hit...
- delta_E1 = M*g*H - A;
- if (delta_E1 < 0)
- v(1) = 0;
- else
- v(1) = sqrt( delta_E1*2/(M+m) );
- end
- % other plank hits...
- for n = [2:max_n]
- % if stop condition not reached
- if (v(n-1) > 0)
- delta_Ei = (M + (n-1)*m) * v(n-1)^2 / 2 + (M + (n-1)*m)*g*h - A;
- if (delta_Ei < 0)
- v(n) = 0;
- else
- v(n) = sqrt( delta_Ei * 2 / (M + n*m));
- end
- end
- end
- figure;
- plot([1:max_n], v, 'o');
- xlabel('n (plank number)');
- ylabel('v, m/s');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement