Script for solving Newton’s laws of motion & plotting an object's trajectory
9 ビュー (過去 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)?
0 件のコメント
採用された回答
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);
その他の回答 (2 件)
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.
0 件のコメント
Zoltán Csáti
2014 年 11 月 15 日
As Star Strider said, create a function to pass those arguments.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!