Plotting help. No line or points appearing on plot
2 ビュー (過去 30 日間)
古いコメントを表示
So, im trying to write a script to plot x=x1 + tV1cos(theta). The figure will generate but no points. What can I do to fix this? Any help would be extremely appreciated. Thank you in advance
%% Get user input
launch_angle= input('Enter launch angle in degrees : ');
xo = input('Enter initial x position in meters: ');
xt = input('Enter target x position in meters: ');
yt = input('Enter target y position in meters: ');
tt = input('Enter target hitting time in seconds: ');
te = input('Enter end time in seconds: ');
g=9.8;
% Calculate Vo
vo = (xt-xo)/(tt*(cos(launch_angle * (pi/180))))
%% Display the result
disp(['Initial Velocity in metres per second is: ', num2str(vo)]);
%% Calculate yo
yo = yt - (tt*vo*(sin(launch_angle * (pi/180))))+(0.5*g*tt^2)
%% Display the result
disp(['Initial y positon in metres is: ', num2str(yo)]);
%% Equations to plot End pt
xe = xo + (te*vo*cos(launch_angle * (pi/180)))
ye = yo + (te*vo*(sin(launch_angle * (pi/180))))-(0.5*g*te^2)
%% Plot end point
figure
plot(xe',ye','-r');
1 件のコメント
Mathieu NOE
2020 年 10 月 22 日
Hi
I suspect you wanted to plot the full trajectory, but you're simply plotting one (the end) point
If you don't see it maybe it's because you have not choosen the right options : try : plot(xe',ye','*r');
nvertheless, you have to write the equation of the trajectory first before you can plot it
採用された回答
VBBV
2020 年 10 月 23 日
編集済み: VBBV
2020 年 10 月 23 日
You need to make time as vector. Then you can plot the trajectory, if i understand it right.
See the code below, it plots xe vs ye according to your prog
launch_angle= input('Enter launch angle in degrees : ');
xo = input('Enter initial x position in meters: ');
xt = input('Enter target x position in meters: ');
yt = input('Enter target y position in meters: ');
tt = input('Enter target hitting time in seconds: '); % total time to hit target in s
te = input('Enter end time in seconds: '); % end time at which target is destroyed
g=9.8;
te = tt:-0.1:te; % calculate the time vector
% Calculate Vo
vo = (xt-xo)/(tt*(cos(launch_angle * (pi/180))))
%% Display the result
disp(['Initial Velocity in metres per second is: ', num2str(vo)]);
%% Calculate yo
yo = yt - (tt*vo*(sin(launch_angle * (pi/180))))+(0.5*g*tt^2)
%% Display the result
disp(['Initial y positon in metres is: ', num2str(yo)]);
%% Equations to plot End pt
xe = xo + (te*vo*cos(launch_angle * (pi/180)))
ye = yo + (te*vo*(sin(launch_angle * (pi/180))))-(0.5*g*te.^2)
%% Plot end point
figure
plot(xe',ye','-r');
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Polar Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!