русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Приближение функций


Дата добавления: 2015-06-12; просмотров: 881; Нарушение авторских прав


1. Многочлены.

Многочлен в MatLab задается вектором его коэффициентов. Например, введем многочлен

p = [1 0 3.2 -5 .2 0 0.5 1 -3]

Значение многочлена в точке

вычисляет команда polyval, например, в точке :

polyval(p, 1)

Аргумент может быть матрицей или вектором, при этом результат также будет матрицей или вектором.

2. Интерполяционный многочлен.

Пусть задана сеточная функция

x …..
y …...

и требуется приблизить эту сеточную функцию многочленом

,

удовлетворяющим условиям интерполяции:

.

Коэффициенты интерполяционного многочлена – решение системы линейных уравнений

.

Матрица этой системы представляет собой, так называемую матрицу Вандермонда, которая в MatLabзадается функцией vander.Неизвестные коэффициенты можно найти путем левого матричного деления «\».

Например, построим интерполяционный многочлен для заданной таблицы

0,5
1,5 1,2

и вычислим приближенное значение при .

Создадим М-файл list_12.

 

В результате работы программы получим графики табличной функции и интерполяционного многочлена:

и вывод в командном окне

ТАБЛИЦА

0.5 1 2 3 4

1.5 0 1 2 1.2

ИНТЕРПОЛЯЦИОННЫЙ МНОГОЧЛЕН P_4

0.21905 -2.4905 9.4667 -13.252 6.0571

ЗНАЧЕНИЕ МНОГОЧЛЕНА В ТОЧКЕ x_0 = 3.5

P_x_0 =

1.7321

 

 

3. Кусочно-многочленная интерполяция.

1) Интерполяция по соседним элементам

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

2) Линейная интерполяция

– это способ, при котором соседние точки соединены отрезками прямых.



3) Интерполяция сплайнами.

 

Все эти способы интерполяции реализуются встроенной функцией interp1.

yi = interp1(x, y, xi, ’method’)

x – массив абсцисс табличной функции;

y – массив ординат табличной функции;

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

Параметр method может принимать одно из следующих значений:

nearest – интерполяция по соседним элементам;

liner– линейная интерполяция;

spline– интерполяция кубическим сплайном.

Выходным аргументом interp1 является вектор yi значений интерполирующей функции.

 

Рассмотрим таблицу из предыдущего примера и построим для неё различные интерполирующие функции. Текст программы приведем в list_13.

Графики

 

Вывод в командное окно

ТАБЛИЦА

0.5 1 2 3 4

1.5 0 1 2 1.2

ЗНАЧЕНИЕ ИНТЕРП. ФУНКЦИЙ В ТОЧКЕ x_0 = 3,5

Near_x_0 =

1.2

Line_x_0 =

1.6

Spline_x_0 =

1.8618

ynear_X1 = 1

4. Метод наименьших квадратов.

Пусть некоторая функция задана своими табличными значениями в п различных точках ( ).

………………..    
………………..

Требуется найти многочлен степени

,

коэффициенты которого минимизируют функцию

.

Построение полинома, который приближает функцию, заданную таблицей, по методу наименьших квадратов в MatLab осуществляется при помощи polyfit:

pk = polyfit(x, y, k),

x – массив абсцисс экспериментальных точек;

y – массив ординат экспериментальных точек;

k – степень аппроксимирующего полинома.

Результатом работы функции является массив pk коэффициентов полинома. Для того чтобы вычислить значение аппроксимирующего полинома в любой точке применяют функцию

Pk = polyval(pk, t),

где t – точка (или массив точек) в которой необходимо вычислить значение многочлена.

 

Например, для заданной таблицы

x
y 0.5 0.5

построим многочлен третьей степени по методу наименьших квадратов. Текст программы в list_14.

Графики табличной функции и аппроксимирующего многочлена

Вывод в командное окно

ТАБЛИЦА

x =

1 2 3 4 5 6 7

y =

0.5 0.5 1 4 3 5 8

 

АППРОКСИМИРУЮЩИЙ МНОГОЧЛЕН P_3

p3 =

0.027778 -0.16071 0.95437 -0.57143



<== предыдущая лекция | следующая лекция ==>
Задания | Основные компоненты, типы данных, программы TURBO PASCAL.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.576 сек.