Я пытаюсь вычислить временную историю скорости, описываемой уравнением: dV / dt = g - (C_d / m) * V ^ 2 .g = 9,81, m = 1,0 и C_d = 1,5.Для этого мне нужно создать программу на с ++, которая использует явный метод Эйлера для численного решения уравнения.Я пытаюсь найти скорость от t = 0 до t = 1 секунды с тремя различными размерами шага: delta_t = 0,05, 0,1 и 0,2 секунды.И тогда вы должны показать свою процентную ошибку в аналитическом решении, представленном как: V (t) = sqrt ((m * g) / C_d) * tanh (sqrt ((g * C_d) / m) * t). Моя проблема в том, что я не уверен, как перебирать метод Эйлера несколько раз с разными временными интервалами.Пока я решил аналитическое уравнение, но не уверен, куда идти дальше.Если бы кто-нибудь мог помочь направить меня в правильном направлении, это было бы очень ценно.
#include <iomanip>
#include <cmath>
#include <math.h>
using namespace std;
int main() {
double m = 1.0; // units in [kg]
double g = 9.81; // units in [m/s^2]
double C_d = 1.5; // units in [kg/m]
double t; // units in [s]
double v; // units in [m/s]
cout << "The velocity will be examined from the time t = 0 to t = 1 seconds." << endl;
cout << "Please select either 0.05, 0.1, or 0.2 to be the time interval:" << endl;
cin >> t;
cout << "You have chosen the time interval of: " << t << " seconds." << endl;
v = sqrt((m * g) / C_d) * tanh(sqrt((g * C_d) / m) * t);
cout << "The velecity at a time of "<< t << " seconds is equal to: " << v << " m/s." << endl;
return 0;
} ```