特定の角度 (a)、速度 (v) で初期高さ (y0) から投げられたボールの軌跡をプロットするスクリプト ファイルを Matlab で作成しようとしています。私は方程式を持っており、Matlab に飛行中のボールの経路をプロットさせたいと考えています。ただし、地面に当たるまで(y = 0)のみプロットしたい。
これを行うためにwhileループを使用しましたが、条件を満たさず、永遠に実行されるようです。x から何度か繰り返した後に条件が満たされると確信していますが、数分間続くだけです。何が問題なのですか?
コードは次のとおりです。
% Trajectory Plotter with cutoff
clear all
close all
clc
y0 = input('Enter a value for y0 in meters: ');
if y0 < 0
disp('Please enter a positive value for y0')
end
a = input('Enter a value for theta in degrees: ');
g = 9.81;
v = input('Enter a value for initial velocity in m/s: ');
x = 0;
y = y0 + x*tand(a) - (g*x.^2)/(2*(v*cosd(a))^2)
while y >= 0
x = x+0.2
end
plot(x,y);
これが些細な問題である場合はお詫びします。私は Matlab/プログラミングが初めてです。
ありがとう。