Решение систем линейных алгебраических уравнений. Метод Гаусса
Требования:
- Размерность n<=20 (задается из файла или с клавиатуры - по выбору конечного пользователя)
- Должно быть предусмотрено чтение исходных данных как из файла, так и ввод с клавиатуры.
- Должна быть реализована возможность ввода коэффициентов матрицы как с клавиатуры, так и из файла. Также предусмотреть случайные коэффициенты.
Реализация:
- Вычисление определителя
- Вывод треугольной матрицы (включая преобразованный столбец В)
- Столбец неизвестных
- Столбец невязок
1. Решение нелинейных уравнений. Метод хорд. Метод простой итерации 2. Решение систем нелинейных уравнений. Метод Ньютона
Требования:
- Уравнения и системы задаются пользователем
- Графики решений нелинейных уравнений
- Одно уравнение решается разными методами одновременно. Вместе с этим демонстрируется разница в решениях (сравнение методов)
- График решения системы уравнений заданным методом
Интегрирование. Метод прямоугольников
Требования:
- Пользователь выбирает функцию, интеграл которой он хочет вычислить (3-5 функций), из тех, которые предлагает программа.
- В численный метод должен быть передан параметр-агрегат на подпрограмму вычисления значения функции в точке x.
- Пользователь задает пределы интегрирования и точность.
- Для оценки погрешности использовать оценку Рунге.
NOTE! Если нижний предел интегрирования >= верхнего предела - интеграл должен считаться корректно!
Реализация:
- Значение интеграла
- Количество разбиений, на которое пришлось разбить
- Полученную погрешность
Интерполирование кубическими сплайнами
Для интерполяции необходимо подготовить 3-4 набора данных (в зависимости от функции).
Исходные данные должны быть подготовлены следующим образом:
- Берем функцию
- Берем точки x (точки необязательно упорядочены)
- значение y получаем на основе данных выбранной функции
Например: берем sin(x)
- берем 3-4 точки на интервале 0 по 2π(шаг более или менее большой)
- берем 8-10 точек на интервале 0 по 2π (уменьшаем шаг)
- точки с предыдущего примера, только для одной точки изменяем значение y, например было 0.8, делаем -5, смотрим как ведет себя интерполяция.
- берем 8-10 точек на интервале 0 по 50π
- В итоге должны получить график, на котором одним цветом исходная функция (sin(x)), а другим цветом полученный график в результате интерполяции, и на графике должны быть отмечены сами точки (узлы) интерполяции.
Требования:
- Интерполяционный график должен пройти через исходные эти точки.
- Программа должна позволять найти значение y (отдельное поле) для любого введенного x (рассчитывается на основе построенного интерполяционного многочлена).
Решение обыкновенных дифференциальных уравнений. Метод Эйлера
- Задается обыкновенное дифференциальное уравнение вида y’ + f(x,y) = 0 , пользователь задает начальные условия (x0, y0), конец отрезка и точность.
- Программа сама вычисляет шаг в зависимости от точности для нахождения массива значений x и y.
- Используется интерполирование кубическими сплайнами.
Интегрирование по прямоугольной области
- Метод ячеек
- Приведение двойного интеграла к повторному интегралу:
- вычисление определенного интеграла методом трапеций
- вычисление определенного интеграла методом левых прямоугольников
- вычисление определенного интеграла методом средних прямоугольников
- вычисление определенного интеграла методом правых прямоугольников