Uploaded by vip.shepard123

метод эйлера коши в c

advertisement
#include <iostream>
#include <cmath>
using namespace std;
// Функция, описывающая правую часть дифференциального уравнения
double f(double t, double y) {
return t - y; // Пример: dy/dt = t - y
}
// Метод Эйлера-Коши для решения дифференциального уравнения
double euler_cauchy(double t0, double y0, double h, double tn) {
double t = t0;
double y = y0;
while (t < tn) {
double k1 = h * f(t, y); // Эйлерово приближение для y
double k2 = h * f(t + h, y + k1); // Эйлерово приближение для y при t + h
y = y + 0.5 * (k1 + k2); // Коши-приближение для y
t = t + h;
}
return y;
}
int main() {
double t0 = 0.0; // Начальное время
double y0 = 1.0; // Начальное значение функции
double tn = 1.0; // Конечное время
double h = 0.1; // Шаг по времени
// Вызов метода Эйлера-Коши для решения дифференциального уравнения
double result = euler_cauchy(t0, y0, h, tn);
cout << "Приближенное значение функции в t=" << tn << " : " << result << endl;
return 0;
}
Download