Погрешность измерения
Скачать 301.01 Kb.
|
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. первая интерполяционная формула Ньютона обычно используется для интерполирования вперёд и экстраполирования назад, . (3) Это и есть обычный вид второй интерполяционной формулы Ньютона. Для приближённого вычисления значений функции полагают: . 8. Интерполяционная формула Гаусса — формула, использующая в качестве узлов интерполяции ближайшие к точке интерполирования x узлы. Если , то формула написанная по узлам , называется формулой Гаусса для интерполирования вперед, а формула написанная по узлам , называется формулой Гаусса для интерполирования назад. В формулах (1) и (2) использованы конечные разности, определяемые следующим образом: Преимущество интерполяционной формулы Гаусса состоит в том, что указанный выбор узлов интерполяции обеспечивает наилучшую оценку остаточного члена по сравнению с любым другим выбором, а упорядоченность узлов по мере их близости к точке интерполяции уменьшает вычислительную погрешность интерполирования. 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 продолжает ломаную прямой линией, проходящей через первые две точки данных. Для значений , расположенных за последней точкой , MathCAD продолжает ломаную прямой линией, проходящей через последние две точки данных. Для получения наилучших результатов должно находится между самыми большими и самыми маленькими значениями - маловероятно, что будут полезны значения, вычисленные для вне этого диапазона. Функция linterp предназначена для интерполяции, а не для экстраполяции. Рисунок 5 показывает некоторые примеры линейной интерполяции. Кубическая сплайн-интерполяция Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трех смежных точек. Кубические полиномы затем состыковываются друг с другом, чтобы образовать одну кривую. MathCAD поставляется с тремя сплайн-функциями: cspline pspline lspline Они возвращают вектор коэффициентов вторых производных, который мы будем называть . Этот вектор обычно используется в функцииinterp, описанной ниже. Аргументы и должны быть вещественными векторами одинаковой длины. Значения вектора должны быть расположены в порядке возрастания. Эти три функции отличаются только граничными условиями:
interp Возвращает интерполируемое значение , соответствующее аргументу. Вектор вычисляется на основе векторов данных и одной из функций pspline, lspline или cspline. Чтобы провести кубический сплайн через набор точек (Рисунок 6):
. Вектор содержит вторые производные интерполяционной кривой в рассматриваемых точках;
- векторы, описанные ранее. Можно сделать то же самое, вычисляя: interp. Интерполируемое значение для конкретного х есть ордината у соответствующей точки сплайна. Для значений , расположенных перед первой точкой вектора , MathCAD продолжает сплайн первой из составляющих его кубических парабол. Для значений , расположенных за последней точкой , MathCAD продолжает сплайн первой из составляющих его кубических парабол. Для получения наилучших результатов должно находится между самыми большими и самыми маленькими значениями - маловероятно, что будут полезны значения, вычисленные для вне этого диапазона. Сплайны предназначены для интерполяции, а не для экстраполяции. Интерполяция вектора точек Можно использовать оператор векторизации, чтобы вычислить сразу целый набор интерполируемых значений, соответствующих вектору заданных точек. Это можно сделать и с interp, с и linter. Пример 10 показывает, как выполнить эту операцию. Чтобы применить оператор векторизации к функции, щелкните мышью на имени функции и нажимайте клавишу пробел, пока в рамку не попадет нужная функция. Затем нажмите Ctrl + - (минус). Пример 10. Кубическая сплайн-интерполяция Линейное предсказание (экстраполяция) Иногда необходимо оценить значения формул в точках, находящихся вне области расположения сетки, на которой заданы значения функции. В Mathcad есть функция predict, которая позволяет это сделать. Эта функция использует линейный алгоритм предсказания, который является полезным, когда экстраполируемая функция является гладкой и осциллирующей, хотя не обязательно периодической. Линейное предсказание можно рассматривать как разновидность экстраполяции, но нельзя путать с линейной или полиномиальной экстраполяцией. predict возвращает предсказанных значений, основанных на m последовательных значениях вектора данных . Элементы вектора должны представлять собой значения, взятые через равные интервалы. Функция predict использует последние m исходных значений данных, чтобы вычислять коэффициенты предсказания. Как только это сделано она использует последние m точек, чтобы предсказать координаты - ой точки, фактически создавая скользящее окно шириной в точек (Рисунок 7). Двумерная сплайн-интерполяция MathCAD выполняет интерполяцию кубическими сплайнами функции двух переменных тем же самым образом, как и в одномерном случае, обсужденном ранее. MathCAD проводит через сетку узлов поверхность, составленную из кубических полиномов от х до у, таким образом, что первые и вторые производные являются непрерывными в каждом узле сетки. cspline pspline lspline Они возвращают вектор коэффициентов вторых производных, который мы будем называть . Этот вектор обычно используется в функцииinterp, описанной ниже. - n 2 матрица, чьи элементы Mxyi, 0 и Mxyi, 1, определяют точки на диагонали n n сетки. (ij)-элемент n nматрицы Mz определяет значение интерполирующей функции в (Mxyi, 0, Mxyj, 1). Эти три функции отличаются только граничными условиями:
interp Возвращает интерполируемое значение z, соответствующее точкам = v0 и y = v1. Вектор вычисляется pspline, lspline или cspline на основе векторов данных Mxy и Mz. Первый шаг в двумерной сплайн-интерполяции - точно такой же, как и в одномерном случае: определить узлы, через которые поверхность должна пройти. Однако это потребует больше усилий, потому что теперь нужно определить сетку узлов:
Вектор содержит вторые производные приближающей поверхности в узлах, определенных Mxy и Mz;
interp, где - массивы, описанные ранее. Результатом является значение интерполирующей функции, соответствующее точке (, у0). Можно сделать то же самое, вычисляя: 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, для которых выполнено условие (хi, c0, c1, c2, …, cm))2 min. 4. Кусочно-линейное и кусочно-квадратичное интерполированиеИногда, интерполирование по всей совокупности точек бывает недостаточным. В этих случаях можно воспользоваться объединением фрагментов графиков полиномов низкой степени и интерполированием между последовательными узлами. Самый простой в использовании полином первой степени. Он создает ломаную, состоящую из отрезков, которые проходят через две точки. Чтобы представить эту кусочно-линейную кривую, используется полином Лагранжа или формула угла наклона отрезка линии в точке , где – линейный сплайн на отрезке [xk+1, xk], yk – заданное значение функции, полученное экспериментально в заданных узлах. Аналогично можно построить кусочно-квадратичный полином. 5. Суть процедуры сглаживания состоит в подмене данной функции на каждом из рассматриваемых отрезков наилучшим линейным среднеквадратичным приближением. На первом этапе для таблично заданной функции найти такую функцию S(x), составленную из линейных функций , чтобы для всех х в смысле минимума квадрата отклонений, т.е. . В результате решается задача нахождения коэффициентов ai, bi методом наименьших квадратов: , Второй этап состоит в пересчете данной таблицы для . Доопределим новую табличную функцию значениями и . В результате этого получаем новую табличную функцию, в которой сохраняется характер поведения исходной функции. Описанная процедура называется осреднением по трем точкам и является простым частным случаем линейного фильтра. 6. Леммы о сплайнах.
Часть 4. 1. . (1) Формула (1) называется формулой механических квадратур, – квадратурной суммой, Аj – квадратурными коэффициентами, хj – узлами или абсциссами квадратурного правила. Остаточным членом квадратурного правила называется величина . 2. Пусть заданы значения подынтегральной функции f(x) в точках x0, x1, , xn принадлежащих [a,b], тогда для f(x) строят интерполяционный многочлен Лагранжа n-ой степени, т.е. ,где . (3) Формула (3) называется интерполяционной квадратурной формулой. Ее остаточный член , (4) где – некоторая точка [a,b]. Если узлы квадратурного правила равноотстоящие, то квадратурные коэффициенты принимают вид (5) где , , . |