Skip to content

Implementations of numerical methods for solving mathematical equations, e.g. iterative method, bisection method and interpolation by a Lagrange polynomial.

Notifications You must be signed in to change notification settings

octoant/computational-mathematics

Repository files navigation

Вычислительная математика ИТМО-2021

Лабораторная работа №1. Решение систем линейных алгебраических уравнений.

Варианты:

Размерность 1...20 (задается из файла или с клавиатуры — по выбору конечного пользователя)

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

Должна быть реализована возможность ввода коэффициентов матрицы как с клавиатуры, так и из файла. Также предусмотреть случайные коэффициенты.

Обязательно: Тестовые данные на матрице большого размера (5 * 5 / 6 * 6 ...) + в отчёт с решением.

Для точных методов(Гаусс и главные элементы) должно быть реализовано:

  • Вычисление определителя
  • Вывод треугольной матрицы (включая преобразованный столбец В)
  • Столбец неизвестных
  • Столбец невязок

Для итерационных методов:

  • Точность задается с клавиатуры / файла
  • Проверка диагонального преобладания (В случае, если диагональное преобладание в изначальной матрице отсутствует — предлагается сделать перестановку строк / столбцов до тех пор, пока преобладание не будет достигнуто. В случае невозможности достижения диагонального преобладания — выводить сообщение.)
  • Столбец неизвестных
  • Количество итераций, за которое было найдено решение
  • Столбец погрешностей

Лабораторная работа №2. Решение систем нелинейных уравнений.

  • Уравнения и системы задаются пользователем;
  • Графики решений нелинейных уравнений;
  • Одно уравнение решается разными методами (a, б, в, г) одновременно. Вместе с этим демонстрируется разница в решениях (сравнение методов);
  • График решения системы уравнений заданным методом.

Варианты:

Лабораторная работа №3. Интегрирование.

Варианты:

  • Метод прямоугольников (должен быть реализован расчет 3мя модификациями: левые, правые, средние)
  • Метод трапеций
  • Метод Симпсона

Пользователь выбирает функцию, интеграл которой он хочет вычислить (3-5 функций), из тех, которые предлагает программа.

В численный метод должен быть передан параметр-агрегат на подпрограмму вычисления значения функции в точке x.

Пользователь задает пределы интегрирования и точность.

NOTE! Если нижний предел интегрирования >= верхнего предела — интеграл должен считаться корректно!

В результате должны получить:

  • значение интеграла
  • количество разбиений, на которое пришлось разбить
  • полученную погрешность

Для оценки погрешности использовать оценку Рунге.

Лабораторная работа №4. Аппроксимация и приближение функций.

Варианты:

Для интерполяции необходимо подготовить 3-4 набора данных (в зависимости от функции).

Исходные данные должны быть подготовлены следующим образом:

  • Берем функцию
  • Берем точки x (точки необязательно упорядочены)
  • значение y получаем на основе данных выбранной функции

Например: берем sin(x)

  1. берем 3-4 точки на интервале 0 по (шаг более или менее большой)
  2. берем 8-10 точек на интервале 0 по (уменьшаем шаг)
  3. точки с предыдущего примера, только для одной точки изменяем значение y, например было 0.8, делаем -5, смотрим как ведет себя интерполяция.
  4. берем 8-10 точек на интервале 0 по 50π

В итоге должны получить график, на котором одним цветом исходная функция (sin(x)), а другим цветом полученный график в результате интерполяции, и на графике должны быть отмечены сами точки (узлы) интерполяции.

Интерполяционный график должен пройти через исходные эти точки.

Программа должна позволять найти значение y (отдельное поле) для любого введенного x
(рассчитывается на основе построенного интерполяционного многочлена).

Для аппроксимации:

По пунктам так же как для интерполяции можно написать

  1. Задается произвольный набор значений пар (x, y)
  2. Задается аппроксимирующая функция
  3. Рассчитываются программой коэффициенты аппроксимирующей функции
  4. Производится вычисление точки с наибольшим отклонением
  5. Найденная точка исключается. Производится перерасчет коэффициентов аппроксимирующего многочлена (см. п.3).
  6. Строится график, содержащий в себе две функции (1 - до исключения, 2 - после исключения и пересчёта) и набор заданных изначально точек (пар значений (x, y))
  7. Помимо этого, отдельно на экран выводятся полученные значения аппроксимирующих коэффициентов

Рассчитанные два раза коэффициенты аппроксимирующей функции также должны быть выведены на экран.

Лабораторная работа №5. Решение обыкновенных дифференциальных уравнений.

Варианты:

  • Метод Эйлера
  • Усовершенствованный метод Эйлера
  • Метод Рунге-Кутта 4-го порядка
  • Метод Адамса
  • Метод Милна

Задается Об. Диф. Ур. вида y’ + f(x,y) = 0, пользователь задает начальные условия (x_0,y_0), конец отрезка и точность.

Программа сама вычисляет шаг в зависимости от точности для нахождения массива значений x и y.

Используя интерполирование 3-й работы строим график.

У кого 3-я работа была аппроксимация, строит график по полученным данным, задав очень маленькую точность.

Не забудьте вставить примеры в отчет! Пару примеров ОДУ - с заранее известным решением вида y = f(x), где изначально y’ зависело не только от х.

Лабораторная работа №6.

Варианты:

  1. Обращение симметричной положительно определенной матрицы методом квадратного корня (метод Холецкого).
  2. Вычисление определенного интеграла по прямоугольной области. Под интегралом стоит функция f(x,y), а интегрирование ведется по dx, dy.
  3. Приближение сложной функции с помощью интерполяционного полинома Лагранжа. В этой постановке узлы интерполяции определяются как корни полинома Чебышева на заданном интервале приближения.
  4. Решение краевой задачи для линейного ДУ второго порядка вида y'' + p(x)y' + q(x)y = f(x) разностным методом (метод прогонки).
  5. Решение краевой задачи для ОДУ первого порядка методом пристрелки.

About

Implementations of numerical methods for solving mathematical equations, e.g. iterative method, bisection method and interpolation by a Lagrange polynomial.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published