8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 93 94 95 96 97 98 99 ... 365

Для вычисления производной от произведения полиномов следует использовать polyder с двумя входными аргументами:

» р =[10 10 0 1];

» q =[12 3];

» pql= polyder(р, q)

pql =

7 12 20 8 9 2 2

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

» [n, d] = polyder(р, q) n =

3 8 16 4 9 -2 -2

d =

1 4 10 12 9

Первый аргумент п результата содержит коэффициенты числителя, а второй d — знаменателя получающегося отношения полиномов.

Интерполирование и сглаживание

Табличные данные очень часто удобно интерпретировать как некоторую функцию, в частности, полиномиальную или сплайн — гладкую функцию, которая на отрезках области определения равна полиномам определенной степени. Будем различать два критерия приближения табличных функций: интерполирование, при котором аппроксимирующая функция совпадает с табличной в узлах, и сглаживание, основанное на минимизации некоторого критерия, например, суммы квадратов отклонений в узлах. Итак, возникает задача о построении полиномиальной или кусочно-полиномиальной функции для приближения некоторых дискретных данных. Набор вычислительных функций MATLAB содержит функции для решения таких задач, как в случае одномерных, так и многомерных данных. Одним из простейших способов приближения табличных функций, предлагаемым MATLAB, является полиномиальное сглаживание методом наименьших квадратов.

Приближение по методу наименьших квадратов

Пусть исследуемая функция дана в виде табл. 6.2. Построение полинома фиксированной степени для приближения табличной функции одной переменной производится при помощи polyfit. Первые два ее входные аргу-


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

Таблица 6.2. Функция, заданная таблицей

o.i

0.2

0.4

0.5

0.6

0.8

1.2

.v.-

-3.5

-4.8

-2.1

0.2

0.9

2.3

3.7

Приблизьте ее полиномами четвертой, пятой и шестой степени и выведите график, отражающий характер приближений. Для решения этой задачи создайте файл-программу LSinterp, текст которой приведен в листинге 6.10.

Листинг 6.10. Приближение полиномами методом наименьших квадратов

% заполнение массивов для табличной функции

х = [0.1 0.2 0.4 0.5 0.6 0.8 1.2];

у = [-3.5 -4.8 -2.1 0.2 0.9 2.3 3.7];

% вывод графика табличной функции маркерами

plottx, у, ко)

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

р4 = polyfit(х, у, 4); % нахождение коэффициентов полинома 4-ой степени р5 = polyfitfx, у, 5); % нахождение коэффициентов полинома 5-ой степени рб = polyfit(х, у, 6); % нахождение коэффициентов полинома 6-ой степени % построение графиков полиномов t = 0.1:0.01:1.2; Р4 = poiyval(р4, t); Р5 = poiyval(р5, t); Рб = poiyval(рб, t); hold on

plot(t, P4, k-, t, P5, k:\ t, E6, к-.)

legend(табличные данные, n = 4", *n = 5, n = 6,0)

title(Приближение табличной функции полиномами степени п)

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

Ю За*. 130


30

, Приближение табличной функции полиномами степени п

1 1

]

I I 1

25 20 15

10

A

f » i \

i \ i ! i / ! / i / i / i * i

-

5

-

0

-

-5

-

О табличные данные — n=4

...... n=5

----n=6

-

-10

(

t t

1

i i i

]

0.2 0.4

" 0.Б

0.8 1 1.2

1.4

Рис. 6.4. Приближение полиномами по методу наименьших квадратов (poiyfit)

Приближение табличных функций по методу наименьших квадратов является простейшей задачей подбора параметров. Более детально этот класс задач разобран в главе 19, посвященной описанию Curve Fitting Toolbox.

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

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

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



0 ... 93 94 95 96 97 98 99 ... 365