Script for solving Newton’s laws of motion & plotting an object's trajectory
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kyle
am 15 Nov. 2014
Beantwortet: Zoltán Csáti
am 15 Nov. 2014
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)?
0 Kommentare
Akzeptierte Antwort
Zoltán Csáti
am 15 Nov. 2014
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);
Weitere Antworten (2)
Star Strider
am 15 Nov. 2014
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.
0 Kommentare
Zoltán Csáti
am 15 Nov. 2014
As Star Strider said, create a function to pass those arguments.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Assembly finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!