Задание 1.docx

<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").