0

特定の角度 (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/プログラミングが初めてです。

ありがとう。

4

2 に答える 2