This is a Matlab Grader problem for calculating the jumper's final distance with given conditions. I wrote the code down below from my lecture and I got an answer of 7.3323, but it's not correct, can anyone take a look please? Thank you.
function Dist = BJump z0 = [0;0;pi/8;10]; dt = 0.1; T = zeros(1,100); T(1) = 0; Z = zeros(4,100); Z(:,1) = z0; j = 1; %for j = 1:100-1
while Z(2,j) >= 0 K1 = physics(T(j),Z(:,j)); K2 = physics(T(j) + dt/2,Z(:,j) + dt/2*K1); K3 = physics(T(j) + dt/2,Z(:,j) + dt/2*K2); K4 = physics(T(j) + dt,Z(:,j) + dt*K3); Z(:,j+1) = Z(:,j) + dt/6*(K1 + 2*K2 + 2*K3 + K4); T(j+1) = T(j) + dt; j = j + 1; end plot(Z(1,1:j),Z(2,1:j)) x = Z(1,1:j); Dist = x(end) function dzdt=physics(t,z) dzdt = 0*z; dzdt(1) = z(4)*cos(z(3)); dzdt(2) = z(4)*sin(z(3)); dzdt(3) = -9.81/z(4)*cos(z(3)); D = (0.72)*(0.94)*(0.5)/2*(dzdt(1)^2 + dzdt(2)^2); dzdt(4) = -D/80-9.81*sin(z(3)); endend
Best Answer