Главная страница
Навигация по странице:

  • Интерполяцио́нный многочле́н Лагра́нжа

  • Интерполяционная формула Гаусса

  • Аппроксимация экспериментальных данных в программе MathCAD

  • Суть процедуры сглаживания

  • Леммы о сплайнах. Смыкающий (чертежный) сплайн.

  • Экстраполяционный сплайн.

  • Сплайн, заканчивающийся параболой.

  • Сплайн с заданной кривизной в крайних точках.

  • Погрешность измерения


    Скачать 301.01 Kb.
    НазваниеПогрешность измерения
    Анкорshpory_Stepanov.docx
    Дата12.08.2018
    Размер301.01 Kb.
    Формат файлаdocx
    Имя файлаshpory_Stepanov.docx
    ТипДокументы
    #22866
    страница2 из 3
    1   2   3


    3. Обратная задача теории погрешностей и ее решение методом равных влияний


    Обратная задача теории погрешностей состоит в том, чтобы определить с какой точностью необходимо задавать значения аргументов функции , чтобы ее погрешность не превосходила заданной величины  ? Эта задача математически неопределена, так как заданную погрешность  можно обеспечить при любом наборе предельных абсолютных погрешностей аргументов удовлетворяющих условию:

    \mathsf{\epsilon = {\sum_{j=1}^k {\left| {f\'_{x_{j}}} \right|}\cdot{\vartriangle_{x_{j}}}}}

    Простейшее решение обратной задачи дает принцип равных влияний, согласно кото- рому вклады всех аргументов в формирование абсолютной погрешности функции равны:

    \mathsf{{{\epsilon} \over {k}} = {\left| {f\'_{x_{j}}} \right|}\cdot{\vartriangle_{x_{j}}}}

    Отсюда

    \mathsf{\vartriangle_{x_{j}}={{ \epsilon }\over{k \cdot \left| {f\'_{x_{j}}} \right|}}}, где 

    Иногда при решении обратной задачи по принципу равных влияний абсолютные погрешности отдельных аргументов оказываются настолько малыми, что вычислить или измерить эти величины с соответствующей точностью невозможно. В таком случае отступают от принципа равных влияний, чтобы увеличение погрешности одних переменных компенсировать уменьшением погрешности других.

    Относительной погрешностью называют некоторую величину http://petrsu.ru/chairs/imo/complex/part1/image67.gif, про которую известно, что она удовлетворяет неравенству:

    Относительную погрешность часто выражают в процентах. Она дает более точное представление о величине ошибки, содержащейся в некоторой величине.

    Часть 2
    1.
    Апроксимация – замена одной функции другой, более близкой к исходной и обладающей хорошими свойствами(лёгкость выполнения аналитических данных и вычислительных операций)
     

    Простейшая задача интерполяции заключается в следующем. На отрезке [a, b] заданы n + 1 точки xi = х0, х1, . . ., хn, которые называютсяузлами интерполяции, и значения некоторой функции f(x) в этих точках

    f(x0) = y0, f(x1) =  y1,  . . ., f(xn) = yn.

    (1)

    Требуется построить функцию  (х) (интерполяционная функция), принадлежащую известному классу и принимающую в узлах интерполяции те же значения, что и f(x), т. е. такую, что

    (x0) = y0(x1) =  y1,  . . ., (xn) = yn.

    (2)

    Геометрически это означает, что нужно найти кривую y =  (х) некоторого определенного типа, проходящую через заданную систему точек M(xi,yi) (i = 01, ..., n) (Рисунок 1).

      

    В такой общей постановке задача может иметь бесконечное множество решений или совсем не иметь решений.

    Однако эта задача становится однозначной, если вместо произвольной функции  (х) искать полином  (х) (интерполяционный полином) степени не выше n, удовлетворяющий условиям (2), т. е. такой, что

     (x0) = y0 (x1) =  y1,  . . ., (xn) = yn.

    (3)

    Полученную интерполяционную формулу

    http://www.exponenta.ru/educat/systemat/hanova/interp/images/image1069.gif

    (4)

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

    Различают два вида интерполяции:

    1. глобальная- соединение всех точек  (х) единым интерполяционным полиномом;

    2. локальная- соединение точек отрезками прямой (по двум точкам), отрезками параболы (по трем точкам).

    2. Интерполяцио́нный многочле́н Лагра́нжа — многочлен минимальной степени, принимающий данные значения в данном наборе точек. Для n+1 пар чисел (x0y0), (x1,y1),…, (xnyn), где все xj различны, существует единственный многочлен L(x) степени не более n, для которого L(xj) = yj. В простейшем случае (n=1) — это линейный многочлен, график которого — прямая, проходящая через две заданные точки. Лагранж предложил способ вычисления таких многочленов:

    l(x) = \sum_{i=0}^n y_i l_i(x)

    3. Недостатком данного подхода является факториальная сложность числителя и знаменателя, что требует использования длинной арифметики.
    ЭЙТКЕНА СХЕМА

    - метод вычисления значения интерполяционного многочлена Ln(x)по узлам х 0, х1, . . ., х п в точке х,основанный на последовательном применении формулы 
    http://dic.academic.ru/pictures/enc_mathematics/053103-17.jpg

    где L(i, i+1,.... m)(x)- интерполяционный многочлен с узлами интерполяции xi, xi+1, . . ., х т, в частностиLi(x)=f(xi)(см. Интерполяционная формула). Процесс вычисления по формуле (*) можно закончить, когда взначениях двух интерполяционных многочленов последовательных степеней совпадает требуемоеколичество знаков. Э. с. удобно использовать для интерполяции значений таблично заданной функции,перенумеровав узлы интерполяции в порядке возрастания |x-xi|.

    4.

    5. Классическим примером (Рунге), показывающим возникновение осцилляций у интерполяционного многочлена, служит интерполяция на равномерной сетке значений функции

    </h2> f(x) = \frac{1}{1+x^2}

    Введем на отрезке  равномерную сетку </h2> x_i=-5+(i-1)h</h2> h=10/(n-1),  и рассмотрим поведение многочлена

    </h2> y(x) = \sum_{i=1}^n a_i x^{n-i}

    который в точках  принимает значения </h2> y_i=1/(1+x_i^2). На рисунке представлены графики самой функции (штрих-пунктирная линия) и трех интерполяционных кривых при :

    • интерполяция на сетке </h2> x_1=-5, x_2=0, x_3=5 — квадратичная парабола;

    • интерполяция на сетке </h2> x_1=-5, x_2=-2.5, x_3=0, x_4=2.5, x_5=5 — многочлен четвертой степени;

    • интерполяция на сетке </h2> x_1=-5, x_2=-3.75, x_3=-2.5, x_4=-1.25, x_5=0, x_6=1.25, x_7=2.5, x_8=3.75, x_9=5 — многочлен восьмой степени.

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

    6.Экстраполя́цияэкстраполи́рование (от лат. extrā — вне, снаружи, за, кроме и лат. polire — приглаживаю, выправляю, изменяю, меняю[1]) — особый тип аппроксимации, при которомфункция аппроксимируется вне заданного интервала, а не между заданными значениями.

    Иными словами, экстраполяция — приближённое определение значений функции  в точках , лежащих вне отрезка , по её значениям в точках x_0< x_1 < . . . < x_n .
    7. первая интерполяционная формула Ньютона обычно используется для интерполирования вперёд и экстраполирования назад, 
    http://miest.narod.ru/iissvit/rass/vip18.files/image032.gif.    (3)

    Это и есть обычный вид второй интерполяционной формулы Ньютона. Для приближённого вычисления значений функции  полагают:

    .

    8. Интерполяционная формула Гаусса — формула, использующая в качестве узлов интерполяции ближайшие к точке интерполирования x узлы. Если , то формула

    g_{2n+1}(x_0+th)=f_0+f^{1}_{1/2}t+f^{2}_0{t(t-1) \over 2!}+\ldots + f^{2n}_0 {t(t^2-1) \ldots [t^2-(n-1)^2](t-n) \over (2n)!},\qquad (1)

    написанная по узлам x_0,</h2>x_0+h,</h2>x_0-h,\ldots,</h2>x_0+nh,</h2>x_0-nh, называется формулой Гаусса для интерполирования вперед, а формула

    g_{2n+1}(x_0+th)=f_0+f^{1}_{-1/2}t+f^{2}_0{t(t+1) \over 2!}+\ldots +f^{2n}_0{t(t^2-1)\ldots [t^2-(n-1)^2](t+n) \over (2n)!},\qquad (2)

    написанная по узлам </h2>x_0,</h2>x_0-h,</h2>x_0+h,\ldots ,</h2>x_0-nh,</h2>x_0+nh, называется формулой Гаусса для интерполирования назад. В формулах (1) и (2) использованы конечные разности, определяемые следующим образом:

    f^{1}_{i+1/2}=f_{i+1}-f_i,\ f^m_i=f^{m-1}_{i+1/2}-f^{m-1}_{i-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.

    linterphttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1020.gif

    Использует векторы данных http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1021.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1022.gif, чтобы возвратить интерполируемое значение http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1023.gif, соответствующее третьему аргументу http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1024.gif. Аргументы http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1025.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1026.gif должны быть векторами одинаковой длины. Вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1027.gif должен содержать вещественные значения, расположенные в порядке возрастания.

    Эта функция соединяет точки данных отрезками прямых, создавая таким образом ломаную. Интерполируемое значение для конкретного х есть ордината у соответствующей точки ломаной.

    Для значений http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1028.gif, расположенных перед первой точкой в векторе http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1029.gif, MathCAD продолжает ломаную прямой линией, проходящей через первые две точки данных. Для значений http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1030.gif, расположенных за последней точкой http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1031.gif, MathCAD продолжает ломаную прямой линией, проходящей через последние две точки данных.

    Для получения наилучших результатов http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1032.gif должно находится между самыми большими и самыми маленькими значениями http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1033.gif - маловероятно, что будут полезны значения, вычисленные для http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1028.gif вне этого диапазона. Функция linterp предназначена для интерполяции, а не для экстраполяции. Рисунок 5 показывает некоторые примеры линейной интерполяции.


    Кубическая сплайн-интерполяция

     

    Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трех смежных точек. Кубические полиномы затем состыковываются друг с другом, чтобы образовать одну кривую.

    MathCAD поставляется с тремя сплайн-функциями:

    csplinehttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1034.gif

    psplinehttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1035.gif

    lsplinehttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1036.gif

    Они возвращают вектор коэффициентов вторых производных, который мы будем называть http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1037.gif. Этот вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1038.gif обычно используется в функцииinterp, описанной ниже. Аргументы http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1033.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1039.gif должны быть вещественными векторами одинаковой длины. Значения вектора http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1033.gif должны быть расположены в порядке возрастания.

    Эти три функции отличаются только граничными условиями:

    • функция lspline генерирует кривую сплайна, которая приближается к прямой линии в граничных точках;

    • функция pspline генерирует кривую сплайна, которая приближается к параболе в граничных точках.

    • функция cspline генерирует кривую сплайна, которая может быть кубическим полиномом в граничных точках.

    interp http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1040.gif

    Возвращает интерполируемое значение http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1041.gif, соответствующее аргументуhttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1042.gif. Вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1043.gif вычисляется на основе векторов данных http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1044.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1045.gif одной из функций pspline, lspline или cspline.

    Чтобы провести кубический сплайн через набор точек (Рисунок 6):

    • создайте векторы http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1046.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1047.gif, содержащие координаты http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1048.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1049.gif,через которые нужно провести кубический сплайн. Элементы http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1050.gif должны быть расположены в порядке возрастания. (Хотя мы используем имена http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1046.gifhttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1047.gif и http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1051.gif, нет никаких ограничений на имена этих переменных; можно использовать любые имена);

    • Вычислите вектор

    http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1052.gif.

    Вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1051.gif содержит вторые производные интерполяционной кривой в рассматриваемых точках;

    • чтобы найти интерполируемое значение в произвольной точке http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1053.gif, вычислите interphttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1054.gif, где http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1055.gif

    - векторы, описанные ранее.

      

    Можно сделать то же самое, вычисляя: interphttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1057.gif.

    Интерполируемое значение для конкретного х есть ордината у соответствующей точки сплайна. Для значений http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1028.gif, расположенных перед первой точкой вектора http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1029.gif, MathCAD продолжает сплайн первой из составляющих его кубических парабол. Для значений http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1030.gif, расположенных за последней точкой http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1031.gif, MathCAD продолжает сплайн первой из составляющих его кубических парабол.

    Для получения наилучших результатов http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1032.gif должно находится между самыми большими и самыми маленькими значениями http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1033.gif - маловероятно, что будут полезны значения, вычисленные для http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1028.gif вне этого диапазона. Сплайны предназначены для интерполяции, а не для экстраполяции.

     

    Интерполяция вектора точек

     

    Можно использовать оператор векторизации, чтобы вычислить сразу целый набор интерполируемых значений, соответствующих вектору заданных точек. Это можно сделать и с interp, с и linter.

    Пример 10 показывает, как выполнить эту операцию. Чтобы применить оператор векторизации к функции, щелкните мышью на имени функции и нажимайте клавишу пробел, пока в рамку не попадет нужная функция. Затем нажмите Ctrl + - (минус).

    Пример 10Кубическая сплайн-интерполяция

     

    Линейное предсказание (экстраполяция)

     

    Иногда необходимо оценить значения формул в точках, находящихся вне области расположения сетки, на которой заданы значения функции. В Mathcad есть функция predict, которая позволяет это сделать.

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

     

     

    predicthttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1059.gif возвращает http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1061.gif предсказанных значений, основанных на m последовательных значениях вектора данных http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1062.gif. Элементы вектора http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1063.gifдолжны представлять собой значения, взятые через равные интервалы.

    Функция predict использует последние m исходных значений данных, чтобы вычислять коэффициенты предсказания. Как только это сделано она использует последние m точек, чтобы предсказать координаты http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1064.gif- ой точки, фактически создавая скользящее окно шириной в http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1065.gif точек (Рисунок 7).

     

    Двумерная сплайн-интерполяция

     

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

    csplinehttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1066.gif

    psplinehttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1067.gif

    lsplinehttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1068.gif

    Они возвращают вектор коэффициентов вторых производных, который мы будем называть http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1037.gif. Этот вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1038.gif обычно используется в функцииinterp, описанной ниже. http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1069.gif - n  2 матрица, чьи элементы Mxyi, 0 и Mxyi, 1, определяют точки на диагонали n  n сетки. (ij)-элемент n  nматрицы Mz определяет значение интерполирующей функции в (Mxyi, 0, Mxyj, 1).

    Эти три функции отличаются только граничными условиями:

    • функция lspline генерирует сплайн, который приближается к плоскости на краях сетки;

    • функция pspline генерирует сплайн, который представляет полином второй степени от х и у на краях сетки;

    • функция cspline генерирует сплайн, который представляет полином третьей степени от х и у на краях сетки.

    interp http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1070.gif

    Возвращает интерполируемое значение z, соответствующее точкам http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1042.gifv0 и y = v1. Вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1043.gif вычисляется pspline, lspline или cspline на основе векторов данных Mxy и Mz.

    Первый шаг в двумерной сплайн-интерполяции - точно такой же, как и в одномерном случае: определить узлы, через которые поверхность должна пройти. Однако это потребует больше усилий, потому что теперь нужно определить сетку узлов:

    • создайте n  2 матрицу Mxy, чьи элементы, Mxyi, 0 и Mxyi, 1 определяют х и у координаты по диагонали прямоугольной сетки. Эта матрица играет ту же самую роль, что и vx в одномерном случае, описанном ранее. Так как эти узлы описывают диагональ, элементы в каждом столбце Mxy должны быть расположены в порядке возрастания (Mxyi, k < Mxyj, k всякий раз, когда i < j);

    • создайте n  n матрицу Mz, чей (ij)- элемент есть координата z соответствующая точке х Mxyi, 0 и у = Mxyj, 1. Она играет ту же самую роль, что и vy в одномерном случае, описанном ранее;

    • вычислите вектор

    http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1071.gif

    Вектор http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1051.gif содержит вторые производные приближающей поверхности в узлах, определенных Mxy и Mz;

    • чтобы найти интерполируемое значение в произвольной точке, скажем (http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1072.gifу0), вычислите

    interphttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1073.gif,

    где http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1074.gif - массивы, описанные ранее. Результатом является значение интерполирующей функции, соответствующее точке (http://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1075.gifу0).

    Можно сделать то же самое, вычисляя:

    interphttp://www.exponenta.ru/educat/systemat/hanova/interp/images1/image1076.gif.

    Обычно двумерную сплайн-интерполяцию используют для повышения качества построения 3D-графиков. Она позволяет существенно повысить представительность сложных графиков функций, в том числе и контурных.

    Часть 3.

    1. В инженерной практике часто используют совокупности точек, абсциссы которых различны, полученные в результате экспериментов. Назначение численных методов заключается в определении зависимости, которая связывает данный набор точек. Другими словами, в этом случае численные методы определяют класс допустимых формул, коэффициенты которых должны быть определены. Существует множество различных типов функций, которыми можно воспользоваться. Рассмотрим класс линейных функций вида: . Все рассмотренные до этого методы позволяли получить полиномы, достаточно хорошо аппроксимирующие или интерполирующие данные при условии, что эти данные достаточно точны, т.е. точки получены, по крайней мере, с пятью знаками точности. Однако часто в измерениях экспериментальная ошибка достаточно велика, т.е. истинное значение удовлетворяет равенству , где – ошибка измерения.

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

    – максимальная ошибка,

    – средняя ошибка,

    – среднеквадратичная ошибка.

    2. Метод наименьших квадратов применяется для решения следующих задач:

    1. Необходимо определить величины х1, х2,…, хN, которые нельзя определить непосредственно, но известно, что они линейно зависимы, а коэффициенты этой зависимости можно получить в результате измерений. Таким образом, мы имеем переопределенную систему линейных алгебраических уравнений. Решение этой системы может быть получено решением задачи минимизации. Выполняя дифференцирование минимизируемой функции , приходим к линейной системе, которая будет иметь N уравнений и N неизвестных.

    2. Требуется дать приближенное аналитическое описание по таблично заданным данным. Из каких-либо соображений подбирается аппроксимирующая функция, а параметры этой функции подбираются так, чтобы сумма квадратов отклонений вычисляемых значений аппроксимирующей функции от заданных была минимальной.

    Линеаризация данных по методу наименьших квадратов.


    Техника линеаризации данных применяется для подгонки кривых, позволяющих при преобразовании переменных получить линейную зависимость вида . В таблице приведены основные приемы линеаризации.

    Пусть заданы N точек с различными абсциссами {xk}. Величина среднеквадратичной ошибки будет минимальной, когда каждая частная производная по неизвестным (в данном случае неизвестные А и В) будет обращаться в нуль, т.е. А и В являются решением нормальной системы уравнений вида:

    Решая систему нормальных уравнений находим искомые коэффициенты А и В.
    3. Аппроксимация – это замена одной функции другой близкой к исходной и обладающей "хорошими" свойствами, позволяющими легко производить над ней те или иные аналитические или вычислительные операции.
    Пусть на отрезке [ab] задана одномерная сетка

    x = {xi / xi = xi  1 + hihi > 0,i = 1, 2, 3, …, nx0 = axn = b},

    в узлах xi которой заданы значения yi = f(xi), i = 0, 1, 2, …, n – соответствующие значения функции f(x).

    Пусть также для аппроксимации табличных данных выбран некоторый класс функций  (хc0c1c2, …, cm), m < n, где c0c1c2, …, cm – неопределенные коэффициенты, выбор значений которых позволяет определить конкретную функцию из выбранного класса. Требуется найти значения коэффициентов c0c1c2,…, cm, для которых выполнено условие

    http://xn--90abr5b.xn--p1ai/exams/%d0%b2%d1%8b%d1%87%d0%bc%d0%b0%d1%82/39.files/image001.gif (хic0c1c2, …, cm))2  min.          

    4. Кусочно-линейное и кусочно-квадратичное интерполирование


    Иногда, интерполирование по всей совокупности точек бывает недостаточным. В этих случаях можно воспользоваться объединением фрагментов графиков полиномов низкой степени и интерполированием между последовательными узлами. Самый простой в использовании полином первой степени. Он создает ломаную, состоящую из отрезков, которые проходят через две точки. Чтобы представить эту кусочно-линейную кривую, используется полином Лагранжа



    или формула угла наклона отрезка линии в точке

    ,

    где – линейный сплайн на отрезке [xk+1, xk], yk – заданное значение функции, полученное экспериментально в заданных узлах. Аналогично можно построить кусочно-квадратичный полином.

    5. Суть процедуры сглаживания состоит в подмене данной функции на каждом из рассматриваемых отрезков наилучшим линейным среднеквадратичным приближением.

    На первом этапе для таблично заданной функции найти такую функцию S(x), составленную из линейных функций , чтобы для всех х в смысле минимума квадрата отклонений, т.е. . В результате решается задача нахождения коэффициентов ai, bi методом наименьших квадратов:

    ,

    Второй этап состоит в пересчете данной таблицы для . Доопределим новую табличную функцию значениями и . В результате этого получаем новую табличную функцию, в которой сохраняется характер поведения исходной функции. Описанная процедура называется осреднением по трем точкам и является простым частным случаем линейного фильтра.

    6. Леммы о сплайнах.

    1. Смыкающий (чертежный) сплайн. Существует единственный кубический сплайн, который имеет первую производную с граничными условиями , , т.е. смыкающий сплайн имеет определенный наклон в крайних точках.

    2. Естественный сплайн. Существует единственный кубический сплайн со свободными граничными условиями , , т.е. сплайн допускает свободный наклон на краях для обеспечения положения, которое минимизирует осцилляцию кривой.

    3. Экстраполяционный сплайн. Существует единственный кубический сплайн, который используется для экстраполирования по внутренним узлам, чтобы определить по узлам х1, х2 и по узлам хN-1, хN-2.

    4. Сплайн, заканчивающийся параболой. Существует единственный кубический сплайн, такой, что на интервале [x0, x1] и на интервале [xN-1, xN].

    5. Сплайн с заданной кривизной в крайних точках. Существует единственный кубический сплайн с заданными значениями второй производной в крайних точках.

    Часть 4.

    1.

    . (1)

    Формула (1) называется формулой механических квадратур, – квадратурной суммой, Аj – квадратурными коэффициентами, хj – узлами или абсциссами квадратурного правила.

    Остаточным членом квадратурного правила называется величина

    .

    2. Пусть заданы значения подынтегральной функции f(x) в точках x0, x1, , xn принадлежащих [a,b], тогда для f(x) строят интерполяционный многочлен Лагранжа n-ой степени, т.е.

    ,где . (3)

    Формула (3) называется интерполяционной квадратурной формулой. Ее остаточный член

    , (4)

    где  – некоторая точка [a,b].

    Если узлы квадратурного правила равноотстоящие, то квадратурные коэффициенты принимают вид

    (5)

    где , , .
    1   2   3


    написать администратору сайта