- #1

- 13

- 0

The first question of the session (our 3rd session 'solving ode's with MATLAB') is as follows:

Using the following given function (projectile.m):

function dydt=projectile(t,y)

g=9.8;

dydt=zeros(2,1); %a column vector

dydt(1)=y(2);

dydt(2)=-g;

end

and the following commands:

>> [T,Y]=ode45(@projectile,[0 12],[0 10]);

>> plot(T,Y(:,1),'-',T,Y(:,2),'-.')

**a) Modify the function so that you now solve differential equations for a projectile that is launched at an angle to the horizontal of 60 degrees with an initial velocity of 100m/s at x=0m and y=0m. Set the calculation span of 20 seconds with increments of 0.1 seconds.**

My attempt:

[T,Y]=ode45(@projectile,[0:0.1:20],[0 100]);

I know that this will change the velocity and the time span, but how I do I change the angle, and make sure its at x=0?

**b) Include the call to the ODE solver function in a seperate m-file script as well as the commands to plot the trajectory of the projectile i.e. y vs x. Use the script to prompt you to input the initial conditions including velocity, angle and intial x an y positions as well as the time interval over which you find the solutions.**

My attempt:

As ive not done the first part ive not really started this, im not sure what the first part is asking but im guessing for the inputs I just do something along the lines of:

t_initial=input('Time Start = ')

t_increment=input('Time Increment = ')

t_final=input('Time Finish = ')

y0=input('Initial y = ')

v=input('Velocity = ')

[T,Y]=ode45(@projectile,[t_initial:t_increment:t_final],[y0 v]);

Then add the part for angle and initial x when I know what they are.

**c) To check your solution, overlay a plot of the x and y positions calculated from the analytical solutions to these equations.**

Not sure on this one

Matlab is all pretty new to me so im having a bit of trouble just understanding what some of the questions are asking.