Как сформировать логику для решения дифференциальных уравнений с использованием метода Эйлера в Си - PullRequest
0 голосов
/ 25 сентября 2018

У нас есть следующие математические формулы для решения дифференциальных уравнений по методу Эйлера

x n + 1 = x n + h

y n + 1 = y n + h * f (x n , y n )

Предположим, что мы получили y (x 0 ) = любое значение, тогда у нас есть x 0 и y 0 , а также h был предоставленпользователь.

У меня возникла проблема, чтобы понять, как я могу принять функцию f (x n , y n ) от пользователя, поскольку функция может быть либоалгебраическая, тригонометрическая, экспоненциальная или логарифмическая, и функция будет иметь тип dy / dx = (выражение). Программный код должен быть в состоянии решить любое дифференциальное выражение, введенное пользователем, и ответы приближений должны быть правильными до 4 десятичных знаков,

Можно принять выражение в виде строки, но я не смогу выполнять вычисления для строки. Любые предложения или решения приветствуются.

Сайт метода Эйлера: http://calculuslab.deltacollege.edu/ODE/7-C-1/7-C-1-h-c.html

Пример ввода:

выражение ввода:

dy / dx = x + 2y

ввод начальных условий:

x 0 = 0, y 0 = 0

введите размер шага: h = 0,25

введите желаемое значениенайти решение для: x = 1

Пример вывода:

вывод

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...