Script for solving Newton’s laws of motion & plotting an object's trajectory

조회 수: 16 (최근 30일)
Hello,
I am very much new to Matlab and coming from C++. I need help in how to the script would look for the following equation and then plotting the results:
Xt = cos(A*pi/180) * V0 * T
Yt = sin(A*pi/180) * V0 * T - 0.5*g*T^2
I'm trying to write a MATLAB program consisting of the function
function PlotTrajectory(V0, A, TimeStop, StepValue)
Do I initialize the values of A(angle in degrees), V0(initial velocity), g, T (time at position of the object)?

채택된 답변

Zoltán Csáti
Zoltán Csáti 2014년 11월 15일
Write it into the Editor:
A = 10;
v0 = 2;
T = 5;
t = 0:0.01:T;
g = 9.81;
x = cos(A*pi/180)*v0*t;
y = sin(A*pi/180)*v0*t - 0.5*g*t.^2;
plot(t,x,t,y);
  댓글 수: 1
Kyle
Kyle 2014년 11월 15일
Thank you!
One more question, what if I wanted to plot various times, angles & initial velocities rather than have A always = 10, V0 = 2 & T = 5?
For example, PlotTrajectory(88.0, 42.0, 5.0, 0.1);

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Star Strider
Star Strider 2014년 11월 15일
It’s not necesary to initialise them in your function, since all variables are local to the function. It is always a good idea to preallocate vectors and matrices, especially if they are supposed to have specific sizes (for instance a row or column vector) as output, and for speed.
It is always advisable to vectorise your equations to allow for element-by-element operations, since the default behaviour in MATLAB is to use array operations:
Xt = cos(A*pi/180) * V0 * T;
Yt = sin(A*pi/180) * V0 * T - 0.5*g*T.^2;
I vectorised the ‘T.^2’ operation here (with (.^) replacing (^)), anticipating that ‘T’ will be a vector.
The semicolons at the end of the statements suppress the default behaviour of printing the value of that variable to the Command Window.

Zoltán Csáti
Zoltán Csáti 2014년 11월 15일
As Star Strider said, create a function to pass those arguments.

카테고리

Help CenterFile Exchange에서 Assembly에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by