MATLAB Answers

0

ODE to answer projectile question

Asked by Questioner on 2 Mar 2017
Latest activity Commented on by Carlos Felipe Rengifo on 14 Jul 2018
Hello,
I am a student and very weak with matlab, I come accross this question about projectiles for matlab and I am having a really bad time solving it. Would appreciate if somebody could help my deadline is in a few days!
The S number is defined like this RandStream.setGlobalStream(RandStream('mt19937ar','seed',1403767)); S=rand(1);

  0 Comments

Sign in to comment.

1 Answer

Answer by Carlos Felipe Rengifo on 7 Jul 2018

I hope this will help you:
clc;
clear variables;
close all;
% Parameters of the model
S = rand(1);
M = 10;
B = 2;
g = 9.81;
a = deg2rad(35)*(1+0.2*S);
V0 = 28*(1+0.2*S);
% Dynamic model
% XDot = f(t,X), with X = [Vx,Vy,X,Y]
F = @(t,X) [-B/M*X(1); -g-B/M*X(2); X(1); X(2)];
% Initial conditions
X0 = [V0*cos(a); V0*sin(a); 0; 0];
% Numerical solution
[T,X] = ode45(F,[0,4],X0);
% Plots
subplot(2,2,1); plot(T,X(:,1)); title('Vx vs. Time'); grid on;
ylabel('Vel. [m/s]'); xlabel('Time [s]');
subplot(2,2,2); plot(T,X(:,2)); title('Vy vs. Time'); grid on;
ylabel('Vel. [m/s]'); xlabel('Time [s]');
subplot(2,2,3); plot(T,X(:,3)); title('X vs. Time'); grid on;
ylabel('Pos. [m]'); xlabel('Time [s]');
subplot(2,2,4); plot(T,X(:,4)); title('Y vs. Time'); grid on;
ylabel('Pos. [m]'); xlabel('Time [s]');

  2 Comments

Please do not post complete solutions to homework problems.
I apologize for any inconvenience caused by my answer. I will be more careful next time.

Sign in to comment.