<aside> 📋 Задача 23. Конечно-разностный метод с использованием метода аппроксимации функции для решения линейных дифференциальных уравнений второго порядка с переменными коэффициентами
</aside>
Составить программу, в которой находится решение ОДУ вида
$$ y''+p(x)y'+q(x)y=f(x) $$
с условиями $y(a)=c, y(b)=d$ на отрезке $[a,b]$, используя указанный метод. Величину шага выбрать равной $h$. Погрешность вычисления не должна превышать величину $e$.
В качестве исходных данных использовать величины $a,b,c,d,h,e$. Значение величины производной на левом конце определять указанным способом с заданной точностью равной $e$.
Программа должна состоять из модулей:
Интерфейсный модуль должен находиться в файле main_NN.c
,
модуль решения ОДУ – в odu_NN.c
,
модуль вычисления функции $p(x)$ – в funkp_NN.c
,
модуль вычисления функции $q(x)$ – в funkq_NN.c
,
модуль вычисления функции $f(x)$ – в funkf_NN.c
,
Использование любых других файлов для кода программы запрещается.
Модули должны быть написаны на C, разрешается использование только библиотек stdio.h, stdlib.h, math.h, time.h
. Использование других заголовков и языка C++ запрещается (кроме графической части).
$a,b,c,d,h,e$ – данные задачи (поле спецификации "%lf"
).