Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Дисциплины:
2017-05-23 | 967 |
5.00
из
|
Заказать работу |
|
|
На практике часто возникает необходимость построения для заданной функции y=f(x) приближенных формул, когда нужно подобрать некоторую функцию φ(x), которая близка к y=f(x) и просто вычисляется. Близость φ(x) к y=f(x) достигается введением в аппроксимирующую функцию φ(x) свободных параметров и соответствующим их выбором. Подбор удачного вида функциональной зависимости φ(x,a) – искусство.
Пусть функция y=f(x) известна только в узлах некоторой сетки xi, т.е. задана таблицей. Если потребовать, чтобы φ(x,a) совпадала с табличными значениями в n выбранных узлах сетки, то получим систему
,
из которой можно определить параметры ak. Такой способ выбора параметров называется лагранжевой интерполяцией. Термин интерполяция в узком смысле употребляют, если x заключено между крайними узлами интерполяции. Если значение x выходит из этих пределов, то говорят об экстраполяции.
Для построения интерполяции/экстраполяции в Mathcad имеются несколько встроенных функций, позволяющих соединить точки данных кривыми разной степени гладкости.
Самый простой вид интерполяции – линейная, которая представляет искомую зависимость A(x) в виде ломаной линии, т.е. интерполирующая функция A(x) состоит из отрезков прямых, соединяющих точки.
Для построения линейной интерполяции служит встроенная функция linterp(x,y,t), где x – вектор значений аргумента, y – вектор (того же размера) значений функции, t – значение аргумента, при котором вычисляется интерполирующая функция. Элементы вектора x должны быть определены в порядке возрастания, т.е. .
В большинстве практических приложений используется сплайновая интерполяция, при которой экспериментальные точки соединяются гладкой кривой. Сплайном степени n называют многочлен
|
,
коэффициенты которого кусочно-постоянны и который в узлах интерполяции принимает заданные значения и непрерывен вместе со своими n-1 производными, т.е.
здесь N – число узлов интерполяции.
В Mathcad сплайн-интерполяция реализована при помощи встроенной функции interp(s,x,y,t), где x – вектор значений аргумента, элементы которого расположены в порядке возрастания; y – вектор значений функции того же размера; t – значение аргумента, при котором вычисляется интерполирующая функция, а s – вектор коэффициентов сплайна, созданный при помощи одной из сопутствующих встроенных функций тех же аргументов (x,y):
На практике наиболее часто используется кубическая сплайн-интерполяция.
Пример кубической сплайн-интерполяции.
Более сложный тип интерполяции – интерполяция B-сплайнами. В отличие от обычной сплайн-интерполяции, сшивка элементарных B-сплайнов производится не в узлах xi, а в точках ui, координаты которых нужно ввести пользователю. B-сплайны могут быть полиномами 1, 2 или 3 степени (линейные, квадратичные или кубические).
В Mathcad интерполяция B-сплайнами реализована точно так же, как и обычная сплайн-интерполяция, различие состоит в определении коэффициентов сплайна, которая осуществляется при помощи встроенной функции bspline(x,y,u,n), где x,y – векторы значений аргумента и функции в узлах; u – вектор значений аргумента, в которых производится сшивка B-сплайнов; n – порядок полиномов сплайновой интерполяции (1, 2 или 3).
Размер вектора u должен быть на 1, 2 или 3 меньше размера векторов x и y. Первый элемент вектора u должен быть меньше или равен первому элементу вектора x (, т.е. лежать за пределами левой границы интервала интерполирования). Последний элемент вектора u должен быть больше или равен последнему элементу вектора x (т.е. лежать за пределами правой границы интервала интерполирования).
|
Интерполяция позволяет легко аппроксимировать функцию y=f(x). Однако точность такой аппроксимации гарантирована лишь в небольшом интервале порядка нескольких шагов сетки. Для другого интервала приходится заново вычислять коэффициенты интерполяционной формулы. Удобнее иметь единую приближенную формулу, пригодную для большого диапазона изменения аргумента. При интерполяции мы приравниваем значения функций f(x) и φ(x) в узлах xi. Если значения yi=f(xi) определены неточно – например, из эксперимента, – то точное приравнивание неразумно. В этом случае целесообразнее приближать функцию не по точкам, а в среднем.
Задачи математической регрессии имеют смысл приближения данных некоторой функцией φ(x,a1,…,ak), минимизирующей функционал
,
т.е. решается задача .
Таким образом, регрессия сводится к подбору неизвестных коэффициентов, определяющих аналитическую зависимость φ(x,a1,…,ak). Как правило, регрессия очень эффективна, если заранее известен или хорошо угадывается закон распределения данных.
Самый простой и наиболее часто используемый вид регрессии – линейная. В этом случае приближение данных осуществляется линейной функцией φ(x)=b+ax, которая на координатной плоскости изображается прямой линией. Линейную регрессию часто называют методом наименьших квадратов.
Для расчета линейной регрессии b+ax в Mathcad имеются встроенные функции, реализующие два дублирующих друг друга способа:
Здесь x, y – векторы данных одинакового размера.
Кроме того, в Mathcad имеется альтернативный алгоритм, реализующий медиан-медианную линейную регрессию для расчетов коэффициентов a и b через встроенную векторную функцию medfit(x,y).
В Mathcad реализована регрессия одним полиномом, отрезками нескольких полиномов и двумерная регрессия массива данных, причем она осуществляется в комбинации со встроенной функцией полиномиальной интерполяции interp(s,x,y,t) (рассмотренной нами ранее). Для этого используются следующие встроенные функции
Здесь x – вектор значений аргумента, элементы которого расположены в порядке возрастания; y – вектор значений функции того же размера; k – степень полинома регрессии (целое положительное число); span – положительный параметр сглаженности данных, определяющий размер фрагментов полиномов (хорошие результаты дает значение span≈0.75).
|
Для построения регрессии полиномом степени k необходимо наличие, по крайней мере, (k+1)-ой точек данных.
Пример. Полиномиальная регрессия квадратичной параболой.
x:=(0 1 2 3 4 5 6)T
y:=(4.1 2.1 3.2 3.6 4.3 5.2 6.0)T
k:=2
s:=regress(x,y,k)
A(t):=interp(s,x,y,t)
По аналогии с одномерной полиномиальной регрессией и двумерной интерполяцией Mathcad позволяет приблизить множество точек поверхностью, которая определяется многомерной полиномиальной зависимостью. В этом случае в качестве аргументов встроенных функций для построения полиномиальной регрессии должны стоять не векторы, а матрицы.
Кроме рассмотренных, в Mathcad встроено еще несколько видов регрессии специального вида. Это трехпараметрической регрессии (с искомыми параметрами a, b, c), и регрессия в виде линейной комбинации C1f1+C2f2+…, где fi(x) – любые функции пользователя, а Ci – подлежащие определению коэффициенты. К тому же, имеется путь проведения регрессии общего вида, когда комбинацию функций и искомых коэффициентов задает сам пользователь.
Для построения специальной регрессии используются следующие встроенные функции:
Здесь x – вектор значений аргумента данных, y – вектор значений функции данных, g – вектор, задающий начальные значения параметров регрессии, F – пользовательская векторная функция скалярного аргумента, G – векторная (N+1)-мерная функция, составленная из функции пользователя и ее N частных производных по каждому из параметров.
|
Впрочем, начиная с Mathcad 13, для функции регрессии общего вида genfit достаточно определить в качестве последнего аргумента только саму функцию регрессии F, не тратя время на ввод ее производных.
В качестве результата каждая из приведенных функций выдает вектор значений искомых параметров.
Пример. Расчет экспоненциальной регрессии
x:=(0 1 2 3 4 5 6)T
y:=(4.1 2.1 3.2 3.6 4.3 5.2 6.0)T
g:=(1 1 1)T
C:=expfit(x,y,g)
F(t):=C0·exp(C1·t)+C2
Следует отметить, что реализация специальной регрессии отличается от приведенных ранее вариантов регрессии тем, что, помимо массива данных, требуется задать некоторые начальные значения искомых коэффициентов.
Виктор Семенович Болдасов
Задания практики по Mathcad
и методические указания по их выполнению
В авторской редакции
Тематический план 2007 г., позиция
Подписано в печать Формат 60 ´ 84 ¤ 16
Бумага Печать офсетная.
Усл.печ.л. Уч.-изд.л.
Тираж экз. Заказ
Издательство МГУП.
Отпечатано в ИПК МГУП.
127550, Москва, ул. Прянишникова, 2а.
|
|
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!