![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методы и компьютерные технологии интерполяции. Интерполяция, приближенная в узлах
Цель работы: научиться применять аппроксимацию
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Напомним, что аппроксимация применяется в случаях, когда исходные данные функции, полученные экспериментально, содержат ошибки, поэтому аппроксимация позволяет получить более точную математическую модель путем сглаживания неточностей исходных данных, чем интерполяция (точная в узлах). Одной из функций, позволяющих осуществить сглаживание неточностей исходных данных в системе Matlab, является функция coef = lsqcurvefit (f, x 0, a, b), где а, b-векторы узлов интерполяции и значений функции, х0 – стартовое значение параметров функции, f- функция аппроксимации, задаваемая пользователем. Представим на примере технологию решения задачи аппроксимации. Пусть некоторый процесс определен функцией у=f(x), исходные данные которого определены в таблице 17.1. Таблица 17.1 – Задание функции у=f(x)
Требуется найти математическую модель поведения данной функции методом аппроксимации. График узлов интерполяции представлен на рисунке 17.1, с.128.
Рисунок 17.1 – График узлов интерполяции функции, представленной в таблице 17.1
Обосновано можно предположить, что функцией аппроксимации будет полином. Система Matlab позволяет выбрать степень полинома, путем вычисления табличных разностей с помощью функции diff (y, n), где у – значения функции в узлах интерполяции, n - порядок табличных разностей. >> y=[6.36,6.85,7.34,7.84,8.08,8.32]; >> diff(y,1) ans = 0.4900 0.4900 0.5000 0.2400 0.2400 >> diff(y,2) ans = 0.0000 0.0100 -0.2600 0
Табличные разности второго порядка практически одинаковы, поэтому полином будет не выше второй степени, т.е. у= a + bx + cx 2. Теперь решим задачу аппроксимации и определим погрешности функции интерполяции (приближенной в узлах).
>> a=[30,40,50,60,70,80]; >> b=[6.36,6.85,7.34,7.84,8.08,8.32]; >> x0=[1,1,1]; >> f=inline('x(3)*a.^2+x(2).*a+x(1)','x','a'); >> coef=lsqcurvefit(f,x0,a,b)
Local minimum found. Optimization completed because the size of the gradient is less than the default value of the function tolerance.
<stopping criteria details>
coef = 4.1684 0.0842 -0.0004
Таким образом, функция может быть представлена аналитически формулой у=4,1684+0,0842 x -0,0004х2. Расчет погрешностей функции аппроксимации показывает, что данная математическая модель адекватна и описывает указанный процесс (см. рисунок 17.2, с. 130).
Рисунок 17.2 – Расчет погрешностей функции аппроксимации
Функция coef = lsqcurvefit (f, x 0, a, b,), представленная системой Matlab, универсальна. Среда Matlab представляет функцию polyfit (х,у, n), осуществляющую аппроксимацию полиномами, где х – вектор узлов интерполяции, у – вектор значений функции в узлах интерполяции, n – степень полинома. Результатом проведения аппроксимации функция выдает вектор коэффициентов полинома. Осуществим аппроксимацию с помощью функции polyfit (х,у, n), используя статистические данные предыдущего пункта: >> x=[30,40,50,60,70,80]; >> y=[6.36,6.85,7.34,7.84,8.08,8.32]; >> p=polyfit(x,y,2) p= -0.0004 0.0842 4.1684
Т.е., функция может быть представлена той же формулой у=4,1684+0,0842 x -0,0004х2. Протабулируем полученную функцию у=4,1684+0,0842 x -0,0004х2 с целью сравнения ее значений со значениями функции в узлах интерполяции. Для этого введем в командной строке новую функцию polyval (p, x), где р - вычисляемая функция, х – вектор узлов интерполяции: >> f=polyval(p,x) f = 6.3318 6.8922 7.3723 7.7720 8.0914 8.3304
Анализируя полученные данные с вектором значений в узлах интерполяции у, убеждаемся, что они мало отличаются от исходных данных. Следовательно, функция аппроксимации может служить математической моделью происходящего процесса.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ Задание 1. Используя полиномиальную аппроксимацию для таблично – заданного процесса найти функцию аппроксимации. Проверить адекватность модели, подсчитав погрешность. Определить значение функции в точке 3,4.
Задание 2. Для таблично – заданного процесса найти функции интерполяции и аппроксимации. Проверить адекватность модели, подсчитав погрешности. Определить значение функции в точке 2,5.
ТРЕБОВАНИЯ К ОТЧЕТУ
Отчет должен быть оформлен согласно ГОСТ 7.32-2001 и содержать 1.Титульный лист 2. Цель работы 3. Краткие теоретические сведения 4. Результаты выполнения заданий. 5. Выводы по работе.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Какие функции аппроксимации Вы знаете? 2. Как посчитать абсолютную и относительную погрешности функции аппроксимации?
ЛАБОРАТОРНАЯ РАБОТА № 18
|
||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-08-16; просмотров: 62; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.192.247 (0.008 с.) |