Материал публикуется в связи с сессией, так как многие не просто изучают численные методы, но еще и
программируют их на старом добром Паскале :-) В помощь таким страждущим студентам - наша старая добрая (конца XX века) бибилиотека численных методов на Паскале.
Сами численные методы реализованы в библиотеке LPM2.TPU (исходник в соответствующем файле .PAS), все остальные файлы с расширением .PAS - демки для вызовов разных функций библиотеки. Паскаль версии 7.1 можно взять на этой странице сайта.
Скиньте все файлы *.pas из архива в удобную папку, а скомпилированную библиотеку lpm2.tpu - в папку,
которая указана в настройке Options -> Unit Directories верхнего меню Паскаля. Затем открывайте и запускайте нужные программы.
Вот текущий список модулей для численных методов (в алфавитном порядке):
EMPIRICH.PAS - эмпирическая зависимость по массивам X,Y переменной размерности (*).
FPRM.PAS - определённый интеграл методом средних прямоугольников. Задаются пределы интегрирования a,b, число узловых точек n, в коде определяется функция f(x).
FSIMP.PAS - определённый интеграл методом Симпсона. Данные задаются, как для модуля FPRM, плюс требуемая точность.
FTRAP.PAS - определённый интеграл методом трапеций. Данные задаются, как для модуля FPRM.
INTER.PAS - реализация первой и второй интерполяционной формулы Ньютона. вводятся размер таблицы, массивы значений X и Y, значение аргумента для интерполяционной формулы и номер формулы (1 или 2).
KLGRAPH.PAS - графопостроитель по данным массивов X,Y. Задаются целочисленные ширина и высота сетки (по сути дела, они обозначают размеры картинки в пикселах), количество горизонтальных и вертикальных осей (ячеек сетки),
размер таблицы, затем массивы данных X и Y (могут быть вещественными).
MITER.PAS - метод итераций решения уравнения. Функция уравнения задана программно как F(X)=D1*x*x*x+D2*x*x+D3*x+D4, вводятся коэффийиенты D1,D2,D3,D4, начальное приближение для x, константа метода и желаемая точность вычисления.
MNEWTON.PAS - метод Ньютона для решения уравнения. Данные вводятся как для MITER (кроме константы метода).
ODY1.PAS - обыкновенное дифференциальное уравнение 1 порядка, методы Эйлера (обычный и модифицированный), Рунге-Кутта. Вводятся интервал [a,b], шаг разностной сетки, начальное условие. Функция задается подпрограммой F(X,y). (*).
ODY2.PAS - обыкновенное дифференциальное уравнение 2 порядка. Вводятся коэффициенты уравнения P,G,F, коэффициенты 1-го и 2-го краевых условий, интервал [a,b], шаг разностной сетки. Функции программируются подпрограммами P1(x), G1(x), F1(x) (*).
ODY22.PAS - модификация ODY2, не имеет самостоятельного значения (*).
OPT.PAS - методы оптимизации. Поиск экстремумов унимодальных функций одной переменной. Функция задается подпрограммой F(x). Реализованы методы равномерного поиска, поразрядного приближения, дихотомии (половинного деления), золотого сечения. (*)
PROG.PAS - решение системы линейных алгебраических уравнений (СЛАУ) методом прогонки. Вводятся порядок системы, матрица коэффициентов системы, вектор свободных членов.
TGRAPH.PAS - построение графика функции, заданной подпрограммой F(X). Вводятся ширина и высота сетки (по сути дела, размеры картинки графика в пикселах), число горизонтальных и вертикальных осей (линий сетки), интервал построения графика. (*)
ZEID.PAS - решение системы линейных алгебраических уравнений (СЛАУ) методом Зейделя. Вводятся порядок системы, матрица коэффициентов системы, вектор свободных членов, точность вычисления, максимальное число итераций.
Здесь (*) означает, что предполагается переход в графический режим для вывода картинки.
Если Ваш компьютер - такой новый, что уже не показывает DOS-графику, поставьте DOSBox и DOSShell (ссылка есть внизу этой
страницы сайта). Тогда Вы сможете скомпилировать в Паскале исполняемый файл (включив в Паскале настройку верхнего меню Compile -> Destination в значение Disk) и потом запустить его из DOSBox или DOSShell.
Еще более простое решение - воспользуйтесь для таких программ файлом menu.bat из вложенной в архив папки EXE (возможно,
запускать его придется все-таки из-под DOSShell, зато он покажет все русскоязычные подписи в DOS-графике и т.п.). Для Ваших собственных функций измените текст нужного модуля, перекомпилируйте его на диск и скопируйте в папку EXE.