This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:computational_mathematics:prac2 [2021/06/14 21:16] andrey.suchkov [Порядок выполнения работы] |
courses:computational_mathematics:prac2 [2022/07/04 05:42] andrey.suchkov removed |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Практическая работа №2: Изучение понятия обусловленности вычислительной задачи ====== | + | ====== Практическая работа №2: Интерполирование функций ====== |
===== Цель работы ===== | ===== Цель работы ===== | ||
- | Исследование обусловленности задачи нахождения корня уравнения на примере линейной функции. | + | Научиться применять интерполирование функции для решения практических задач, овладеть навыками применения интерполяционных формул Лагранжа заданной степени, многочленов Ньютона. Научиться оценивать погрешности интерполяционных формул и работать в программных пакетах с целью проверки полученных результатов. |
- | + | ||
- | ===== Основные теоретические положения ===== | + | |
- | Под обусловленностью вычислительной задачи понимают чувствительность ее решения к малым погрешностям входных данных. | + | |
- | + | ||
- | Задачу называют хорошо обусловленной, если малым погрешностям входных данных отвечают малые погрешности решения, и плохо обусловленной, если возможны сильные изменения решения. Количественной мерой степени обусловленности вычислительной задачи является число обусловленности, которое можно интерпретировать как коэффициент возможного возрастания погрешностей в решении по отношению к вызвавшим их погрешностям входных данных. Пусть между абсолютными погрешностями входных данных $x$ и решения $y$ установлено неравенство: | + | |
- | \[ | + | |
- | \Delta(y^*) \leqslant \nu_{\Delta}\Delta(x^*), | + | |
- | \] | + | |
- | где $ x^* $ и $ y^* $ -- приближённые входные данные и приближённое решение соответственно. Тогда величина $ \nu_{\Delta} $ называется абсолютным числом обусловленности. | + | |
- | + | ||
- | Если же установлено неравенство | + | |
- | \[ | + | |
- | \delta(y^*) \leqslant \nu_{\delta}\delta(x^*), | + | |
- | \] | + | |
- | между относительными ошибками данных и решения, то величину $ \nu_{\delta} $ называют относительным числом обусловленности. Для плохо обусловленной задачи $ \nu \gg 1 $. Грубо говоря, если $ \nu = 10^N $, где $ \nu $ -- относительное число обусловленности, то порядок $ N $ показывает число верных цифр, которое может быть утеряно в результате по сравнению с числом верных цифр входных данных. | + | |
- | + | ||
- | Ответ на вопрос о том, при каком значении $ \nu $ задачу следует признать плохо обусловленной, зависит, с одной стороны, от предъявляемых требований к точности решения и, с другой, -- от уровня обеспечиваемой точности исходных данных. Например, если требуется найти решение с точностью 0.1%, а входная информация задается с точностью 0.02%, то уже значение $ \nu = 10 $ сигнализирует о плохой обусловленности. Однако, при тех же требованиях к точности результата, гарантия, что исходные данные задаются с точностью не ниже 0.0001%, означает, что при $ \nu = 10^3 $ задача хорошо обусловлена. | + | |
- | + | ||
- | Если рассматривать задачу вычисления корня уравнения $ y = f(x) $, то роль числа обусловленности будет играть величина | + | |
- | \[ | + | |
- | \nu_{\Delta} = \frac1{|f'(\xi)|}, | + | |
- | \] | + | |
- | где $ \xi $ -- корень уравнения. | + | |
===== Постановка задачи ===== | ===== Постановка задачи ===== | ||
- | Используя программу //task2.exe//, исследовать обусловленность задачи нахождения корня уравнения $ f(x) = 0 $ для линейной функции $ f(x) = c(x - d) $. Значения функции $ f(x) $ следует вычислить приближенно с точностью ''delta'', варьируемой в пределах от 0.1 до 0.000001. | + | Построить интерполяционный многочлен по 2, 3, 4, 5 и 6 узлам (равноотстоящим и чебышёвским) для функции $ f(x) = \cfrac A{x^2 + px + q} $ на промежутке $ [a, b] $ по равноотстоящим и по чебышёвским узлам. Найти фактическую погрешность и сравнить её с теоретической оценкой. |
===== Порядок выполнения работы ===== | ===== Порядок выполнения работы ===== | ||
- | - Графически или аналитически отделить корень уравнения $ f(x) = 0 $, т.е. найти отрезки $ [a, b] $, на которых функция удовлетворяет условиям применимости метода бисекции. | + | - Реализовать функцию ''f()'' для вычисления значений в функции $ f(x) $. |
- | - Запустить программу //task2.exe//. Ввести значения, необходимые для запуска программы. | + | - Реализовать функцию ''df()'', вычисляющая $ n $-ую производную функции $ f(x) $. Данную функцию можно реализовать с помощью ''switch'', предварительно посчитав производные в символьном виде, например, в Wolfram. |
- | - Провести вычисления по программе, варьируя значения параметров ''c'' (тангенс угла наклона прямой), ''eps'' (точность вычисления корня) и ''delta'' (точность задания исходных данных). | + | - Реализовать функцию, вычисляющую интерполяционный многочлен по методу Лагранжа ''lagrange()'' (**для нечётных вариантов**) или Ньютона ''newti()'' (**для чётных вариантов**). |
- | - Проанализировать полученные результаты и обосновать выбор точности ''eps'' вычисления корня. Сопоставить полученные теоретические результаты с экспериментальными данными. | + | - Построить график полученного интерполяционного многочлена $ n $-го порядка по равномерной сетке и функции $ f(x) $ в одном окне. Отметить на графике узлы интерполяции. Выписать полученный интерполяционный многочлен с точностью коэффициентов до 7 знаков после запятой. |
+ | - Аналогично выполнить построение для чебышёвской сетки. | ||
+ | - Заполнить таблицу для каждой сетки и сделать выводы: | ||
+ | ^ Значение $ n $ | 1 | 2 | 3 | 4 | 5 | | ||
+ | ^ Значение $ M_{n+1} $ | | | | | | | ||
+ | ^ Значение $ \max|\omega_{n+1}(x)| $ | | | | | | | ||
+ | ^ Значение $ (n + 1)! $ | | | | | | | ||
+ | ^ Значение $ Q_n $ | | | | | | | ||
+ | ^ Значение $ \max|R_n(x)| $ | | | | | | | ||
+ | |||
+ | ===== Варианты заданий ===== | ||
<note important> | <note important> | ||
- | Значение параметра $ d $ выбирается каждым студентом самостоятельно и согласовывается с преподавателем. | + | Выполнение работ осуществляется по индивидуальным вариантам заданий (коэффициентам функции). Номер варианта для каждого студента определяется преподавателем. |
</note> | </note> | ||
- | + | [[.task2:task2-vars]] | |
- | ===== Содержание отчёта ===== | + | |
- | * Цель работы. | + | |
- | * Краткое изложение основных теоретических понятий. | + | |
- | * Постановка задачи с кратким описанием порядка выполнения работы. | + | |
- | * Таблицы с вычислениями при различных вариациях параметров. | + | |
- | * Краткие выводы по полученным результатам. | + | |
- | * Общий вывод по проделанной работе. | + | |
- | * Код программы. | + |