Погрешность измерения
![]()
|
3. Обратная задача теории погрешностей и ее решение методом равных влияний
Требуется построить функцию (х) (интерполяционная функция), принадлежащую известному классу и принимающую в узлах интерполяции те же значения, что и f(x), т. е. такую, что
Геометрически это означает, что нужно найти кривую y = (х) некоторого определенного типа, проходящую через заданную систему точек M(xi,yi) (i = 0, 1, ..., n) (Рисунок 1). В такой общей постановке задача может иметь бесконечное множество решений или совсем не иметь решений. Однако эта задача становится однозначной, если вместо произвольной функции (х) искать полином (х) (интерполяционный полином) степени не выше n, удовлетворяющий условиям (2), т. е. такой, что
Полученную интерполяционную формулу
обычно используют для приближенного вычисления значений данной функции (х) для значений аргумента х, отличных от узлов интерполяции. Такая операция называется интерполяцией функций. Различают два вида интерполяции:
2. Интерполяцио́нный многочле́н Лагра́нжа — многочлен минимальной степени, принимающий данные значения в данном наборе точек. Для n+1 пар чисел (x0, y0), (x1,y1),…, (xn, yn), где все xj различны, существует единственный многочлен L(x) степени не более n, для которого L(xj) = yj. В простейшем случае (n=1) — это линейный многочлен, график которого — прямая, проходящая через две заданные точки. Лагранж предложил способ вычисления таких многочленов: ![]() 3. Недостатком данного подхода является факториальная сложность числителя и знаменателя, что требует использования длинной арифметики. ЭЙТКЕНА СХЕМА - метод вычисления значения интерполяционного многочлена Ln(x)по узлам х 0, х1, . . ., х п в точке х,основанный на последовательном применении формулы ![]() где L(i, i+1,.... m)(x)- интерполяционный многочлен с узлами интерполяции xi, xi+1, . . ., х т, в частностиLi(x)=f(xi)(см. Интерполяционная формула). Процесс вычисления по формуле (*) можно закончить, когда взначениях двух интерполяционных многочленов последовательных степеней совпадает требуемоеколичество знаков. Э. с. удобно использовать для интерполяции значений таблично заданной функции,перенумеровав узлы интерполяции в порядке возрастания |x-xi|. 4. ![]() 5. Классическим примером (Рунге), показывающим возникновение осцилляций у интерполяционного многочлена, служит интерполяция на равномерной сетке значений функции ![]() Введем на отрезке равномерную сетку ![]() ![]() ![]() который в точках принимает значения ![]()
Значения интерполяционного многочлена даже для гладких функций в промежуточных точках могут сильно уклоняться от значений самой функции. 6.Экстраполя́ция, экстраполи́рование (от лат. extrā — вне, снаружи, за, кроме и лат. polire — приглаживаю, выправляю, изменяю, меняю[1]) — особый тип аппроксимации, при которомфункция аппроксимируется вне заданного интервала, а не между заданными значениями. Иными словами, экстраполяция — приближённое определение значений функции в точках , лежащих вне отрезка , по её значениям в точках ![]() 7. первая интерполяционная формула Ньютона обычно используется для интерполирования вперёд и экстраполирования назад, ![]() Это и есть обычный вид второй интерполяционной формулы Ньютона. Для приближённого вычисления значений функции полагают: . 8. Интерполяционная формула Гаусса — формула, использующая в качестве узлов интерполяции ближайшие к точке интерполирования x узлы. Если , то формула ![]() написанная по узлам ![]() ![]() написанная по узлам ![]() ![]() Преимущество интерполяционной формулы Гаусса состоит в том, что указанный выбор узлов интерполяции обеспечивает наилучшую оценку остаточного члена по сравнению с любым другим выбором, а упорядоченность узлов по мере их близости к точке интерполяции уменьшает вычислительную погрешность интерполирования. 9. Аппроксимация экспериментальных данных в программе MathCAD MathCAD — система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вычислениями и визуальным сопровождением. MathCAD идеально подходит для осуществления математического моделирования — осуществляя решение разного рода уравнений и создавая отчет о полученных результатах. В MathCAD совсем немного типов данных по сравнению с универсальными языками программирования — всего три. Кратко охарактеризуем их (более детально они будут описаны позже). Числа (как действительные, так и комплексные): все числа MathCAD хранит в одном формате (с плавающей точкой двойной точности), не разделяя их на целые и действительные. На одно число выделяется 64 бита. При этом десятичная часть не может превышать по длине 17 знаков, а порядок должен лежать между –307 и 307. Комплексные числа на уровне реализации представляют собой пару действительных чисел. При этом во многих видах расчетов число воспринимается как комплексное, даже если у него нет мнимой части. Описанные особенности чисел в MathCAD касаются только численных расчетов. При работе в символьном режиме совершенно другие уровни точности. Строки: в общем случае любой текст, заключенный в кавычки. На практике строки используются в основном для задания сообщений об ошибках, возникших при работе программ на языке MathCAD. Массивы: к ним относятся матрицы, векторы, тензоры, таблицы — любые упорядоченные последовательности элементов произвольного типа. К данным этого типа можно отнести и ранжированные переменные. В отдельную группу следует выделить так называемые размерные переменные, то есть единицы измерения, имеющие огромное значение в науке и технике. В MathCAD нет логического типа данных. Для обозначения истины и лжи логическими операторами и функциями используются числа — 0 и 1. В MathCAD существует несколько функций, позволяющих выполнить регрессию с использованием зависимостей, наиболее часто встречающихся на практике. Таких функций в MathCAD всего шесть. Вот некоторые из них: · expfit(vx,vy,vg) - регрессия экспоненциальной функцией y = a*eb*x+c. · sinfit(vx,vy,vg) - регрессия синусоидальной функцией y = a*sin(x+b)+c. · pwrfit(vx,vy,vg) - регрессия степенной функцией e = a*xb +c. Перечисленные функции используют трехпараметрическую аппроксимирующую функцию, нелинейную по параметрам. При вычислении оптимальных значений трех параметров регрессионной функции по методу наименьших квадратов возникает необходимость в решении сложной системы из трех нелинейных уравнений. Такая система часто может иметь несколько решений. Поэтому в функциях MathCAD, которые проводят регрессию трехпараметрическими зависимостями, введен дополнительный аргумент vg. Данный аргумент - это трехкомпонентный вектор, содержащий приблизительные значения параметров a,b и c, входящих в аппроксимирующую функцию. Неправильный выбор элементов вектора vg может привести к неудовлетворительному результату регрессии. В MathCAD существуют средства для проведения регрессии самого общего вида. Это означает, что можно использовать любые функции в качестве аппроксимирующих и находить оптимальные значения любых их параметров, как линейных, так и нелинейных. В том случае, если регрессионная функция является линейной по всем параметрам, т.е. представляет линейную комбинацию жестко заданных функций, провести регрессию можно с помощью встроенной функции linfit(vx,vy,F). Аргумент F - это векторная функция, из элементов которой должна быть построена линейная комбинация, наилучшим образом аппроксимирующая заданную последовательность точек. Результатом работы функции linfit является вектор линейных коэффициентов. Каждый элемент этого вектора - коэффициент при функции, стоящей на соответствующем месте в векторе F. Таким образом, для того чтобы получить регрессионную функцию, достаточно скалярно перемножить эти два вектора. 10. Линейная интерполяция При линейной интерполяции MathCAD соединяет существующие точки данных прямыми линиями. Это выполняется функцией linterp. linterp ![]() Использует векторы данных ![]() ![]() ![]() ![]() ![]() ![]() ![]() Эта функция соединяет точки данных отрезками прямых, создавая таким образом ломаную. Интерполируемое значение для конкретного х есть ордината у соответствующей точки ломаной. Для значений ![]() ![]() ![]() ![]() Для получения наилучших результатов ![]() ![]() ![]() Кубическая сплайн-интерполяция Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трех смежных точек. Кубические полиномы затем состыковываются друг с другом, чтобы образовать одну кривую. MathCAD поставляется с тремя сплайн-функциями: cspline ![]() pspline ![]() lspline ![]() Они возвращают вектор коэффициентов вторых производных, который мы будем называть ![]() ![]() ![]() ![]() ![]() Эти три функции отличаются только граничными условиями:
interp ![]() Возвращает интерполируемое значение ![]() ![]() ![]() ![]() ![]() Чтобы провести кубический сплайн через набор точек (Рисунок 6):
![]() Вектор ![]()
- векторы, описанные ранее. Можно сделать то же самое, вычисляя: interp ![]() Интерполируемое значение для конкретного х есть ордината у соответствующей точки сплайна. Для значений ![]() ![]() ![]() ![]() Для получения наилучших результатов ![]() ![]() ![]() Интерполяция вектора точек Можно использовать оператор векторизации, чтобы вычислить сразу целый набор интерполируемых значений, соответствующих вектору заданных точек. Это можно сделать и с interp, с и linter. Пример 10 показывает, как выполнить эту операцию. Чтобы применить оператор векторизации к функции, щелкните мышью на имени функции и нажимайте клавишу пробел, пока в рамку не попадет нужная функция. Затем нажмите Ctrl + - (минус). Пример 10. Кубическая сплайн-интерполяция Линейное предсказание (экстраполяция) Иногда необходимо оценить значения формул в точках, находящихся вне области расположения сетки, на которой заданы значения функции. В Mathcad есть функция predict, которая позволяет это сделать. Эта функция использует линейный алгоритм предсказания, который является полезным, когда экстраполируемая функция является гладкой и осциллирующей, хотя не обязательно периодической. Линейное предсказание можно рассматривать как разновидность экстраполяции, но нельзя путать с линейной или полиномиальной экстраполяцией. predict ![]() ![]() ![]() ![]() Функция predict использует последние m исходных значений данных, чтобы вычислять коэффициенты предсказания. Как только это сделано она использует последние m точек, чтобы предсказать координаты ![]() ![]() Двумерная сплайн-интерполяция MathCAD выполняет интерполяцию кубическими сплайнами функции двух переменных тем же самым образом, как и в одномерном случае, обсужденном ранее. MathCAD проводит через сетку узлов поверхность, составленную из кубических полиномов от х до у, таким образом, что первые и вторые производные являются непрерывными в каждом узле сетки. cspline ![]() pspline ![]() lspline ![]() Они возвращают вектор коэффициентов вторых производных, который мы будем называть ![]() ![]() ![]() Эти три функции отличаются только граничными условиями:
interp ![]() Возвращает интерполируемое значение z, соответствующее точкам ![]() ![]() Первый шаг в двумерной сплайн-интерполяции - точно такой же, как и в одномерном случае: определить узлы, через которые поверхность должна пройти. Однако это потребует больше усилий, потому что теперь нужно определить сетку узлов:
![]() Вектор ![]()
interp ![]() где ![]() ![]() Можно сделать то же самое, вычисляя: interp ![]() Обычно двумерную сплайн-интерполяцию используют для повышения качества построения 3D-графиков. Она позволяет существенно повысить представительность сложных графиков функций, в том числе и контурных. Часть 3. 1. В инженерной практике часто используют совокупности точек, абсциссы которых различны, полученные в результате экспериментов. Назначение численных методов заключается в определении зависимости, которая связывает данный набор точек. Другими словами, в этом случае численные методы определяют класс допустимых формул, коэффициенты которых должны быть определены. Существует множество различных типов функций, которыми можно воспользоваться. Рассмотрим класс линейных функций вида: ![]() ![]() ![]() Для того чтобы определить, насколько далеко от данных лежит кривая ![]() ![]() ![]() ![]() 2. Метод наименьших квадратов применяется для решения следующих задач:
Линеаризация данных по методу наименьших квадратов.Техника линеаризации данных применяется для подгонки кривых, позволяющих при преобразовании переменных получить линейную зависимость вида ![]() Пусть заданы N точек с различными абсциссами {xk}. Величина среднеквадратичной ошибки будет минимальной, когда каждая частная производная ![]() Решая систему нормальных уравнений находим искомые коэффициенты А и В. 3. Аппроксимация – это замена одной функции другой близкой к исходной и обладающей "хорошими" свойствами, позволяющими легко производить над ней те или иные аналитические или вычислительные операции. Пусть на отрезке [a, b] задана одномерная сетка x = {xi / xi = xi – 1 + hi, hi > 0,i = 1, 2, 3, …, n; x0 = a, xn = b}, в узлах xi которой заданы значения yi = f(xi), i = 0, 1, 2, …, n – соответствующие значения функции f(x). Пусть также для аппроксимации табличных данных выбран некоторый класс функций (х, c0, c1, c2, …, cm), m < n, где c0, c1, c2, …, cm – неопределенные коэффициенты, выбор значений которых позволяет определить конкретную функцию из выбранного класса. Требуется найти значения коэффициентов c0, c1, c2,…, cm, для которых выполнено условие ![]() 4. Кусочно-линейное и кусочно-квадратичное интерполированиеИногда, интерполирование по всей совокупности точек бывает недостаточным. В этих случаях можно воспользоваться объединением фрагментов графиков полиномов низкой степени и интерполированием между последовательными узлами. Самый простой в использовании полином первой степени. Он создает ломаную, состоящую из отрезков, которые проходят через две точки. Чтобы представить эту кусочно-линейную кривую, используется полином Лагранжа ![]() или формула угла наклона отрезка линии в точке ![]() где ![]() 5. Суть процедуры сглаживания состоит в подмене данной функции на каждом из рассматриваемых отрезков наилучшим линейным среднеквадратичным приближением. На первом этапе для таблично заданной функции найти такую функцию S(x), составленную из линейных функций ![]() ![]() ![]() ![]() ![]() Второй этап состоит в пересчете данной таблицы ![]() ![]() ![]() ![]() 6. Леммы о сплайнах.
Часть 4. 1. ![]() Формула (1) называется формулой механических квадратур, ![]() Остаточным членом квадратурного правила называется величина ![]() 2. Пусть заданы значения подынтегральной функции f(x) в точках x0, x1, , xn принадлежащих [a,b], тогда для f(x) строят интерполяционный многочлен Лагранжа n-ой степени, т.е. ![]() ![]() Формула (3) называется интерполяционной квадратурной формулой. Ее остаточный член ![]() где – некоторая точка [a,b]. Если узлы квадратурного правила равноотстоящие, то квадратурные коэффициенты принимают вид ![]() где ![]() ![]() ![]() |