Рефераты
 

Система математических расчетов MATLAB

ба этих примера имеют точное решение в виде целых чисел. Это связано с тем, что в каче-стве матрицы коэффициентов была выбрана матрица Паскаля pascal(3), чей детерминант равен единице. Далее будут рассмотрены примеры влияния ошибок округления, возникаю-щих в более реальных системах.

Квадратная матрица A является сингулярной, если ее столбцы не являются линейно незави-симыми. Если A - сингулярна, то решение AX = B или не существует, или не является един-ственным. Оператор \ , A\B, выдает предупреждающее сообщение, если матрица A близка к сингулярной и сообщение об ошибке, если определено равенство нулю детерминанта матри-цы А.

Переопределенные системы

Переопределенные системы совместных линейных уравнений часто встречаются в задачах аппроксимации экспериментальных данных при помощи различных эмпирических кривых. Рассмотрим следующий гипотетический пример. Величина y измеряется при различных зна-чениях времени t, что дает следующие результаты

t y

0.0 0.82

0.3 0.72

0.8 0.63

1.1 0.60

1.6 0.55

2.3 0.50

Эти данные могут быть введены в MATLAB при помощи выражений:

t = [0 .3 .8 1.1 1.6 2.3]';

y = [0.82 0.72 0.63 0.60 0.55 0.50]';

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

y(t) = c1 + c2 e-t

Это уравнение показывает, что вектор y может быть представлен в виде линейной комбина-ции двух векторов, один из которых является постоянным вектором, содержащим все едини-цы, а второй вектор имеет компоненты e-t. Неизвестные коэффициенты c1 и c2 могут быть найдены подгонкой кривых по методу наименьших квадратов, которая основана на миними-зации суммы квадратов отклонений экспериментальных данных от модели. Мы имеем шесть уравнений с двумя неизвестными, представленными 6х2 матрицей

E = [ones(size(t)) exp(-t)]

E =

1.0000 1.0000

1.0000 0.7408

1.0000 0.4493

1.0000 0.3329

1.0000 0.2019

1.0000 0.1003

Решение методом наименьших квадратов находится при помощи оператора \ :

c = E\y

c =

0.4760

0.3413

Иными словами, подгонка методом наименьших квадратов дает

y(t) = 0.476 + 0.3413 e-t

Следующие выражения оценивают модель при равномерно распределенных моментах време-ни (с шагом 0.1), а затем строят график вместе с результатами экспериментальных данных.

T = (0 : 0.1 : 2.5)';

Y = [ones(size(T)) exp(-T)]*c;

plot(T, Y, '-', t, y, 'o')

Можно видеть, что значения E*c не совсем точно совпадают со значениями эксперименталь-ных данных y, но эти отклонения могут быть сравнимы с ошибками измерений.

Прямоугольная матрица A называется матрицей неполного ранга, если ее столбцы линейно-независимы. Если матрица A имеет неполный ранг, то решение AX = B не является единст-венным. Оператор \ при этом выдает предупреждающее сообщение и определяет основное решение, которое дает минимально возможное число ненулевых решений.

Недоопределенные системы

Недоопределенные системы линейных уравнений содержат больше неизвестных чем урав-нений. Когда они сопровождаются дополнительными ограничениями, то становятся сферой изучения линейного программирования. Сам по себе, оператор \ работает только с системой без ограничений. При этом решение никогда не бывает единственным. MATLAB находит ос-новное решение, которое содержит по меньшей мере m ненулевых компонент (где m - число уравнений), но даже это решение может быть не единственным. Ниже приводится пример, где исходные данные генерируются случайным образом.

R = fix (10*rand(2,4))

R =

6 8 7 3

3 5 4 1

b = fix (10*rand(2,1))

b =

1

2

Система уравнений Rx = b содержит два уравнения с четырьмя неизвестными. Поскольку матрица коэффициентов R содержит небольшие по величине целые числа, целесообразно представить решение в формате rational (в виде отношения двух целых чисел). Частное ре-шение представленное в указанном формате есть:

p = R\b

p =

0

5/7

0

-11/7

Одно из ненулевых решений есть p(2), потому что второй столбец матрицы R имеет наи-большую норму. Вторая ненулевая компонента есть p(4) поскольку четвертый столбец матрицы R становится доминирующим после исключение второго столбца (решение нахо-дится методом QR-факторизации с выбором опорного столбца).

Обратные матрицы и детерминанты

Если матрица А является квадратной и невырожденной, уравнения AX = I и XA = I имеют одинаковое решение X. Это решение называется матрицей обратной к A, обозначается через A-1 и вычисляется при помощи функции inv. Понятие детерминанта (определителя) матрицы полезно при теоретических выкладках и некоторых типах символьных вычислений, но его масштабирование и неизбежные ошибки округления делают его не столь привлекательным при числовых вычислениях. Тем не менее, если это требуется, функция det вычисляет определитель квадратной матрицы. Например,

A = pascal (3)

A =

1 1 1

1 2 3

1 3 6

d = det (A)

X = inv (A)

d =

1

X =

3 -3 1

-3 5 -2

1 -2 1

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

B = magic(3)

B =

8 1 6

3 5 7

4 9 2

d = det(B)

X = inv(B)

d =

-360

X =

0.1472 -0.1444 0.0639

-0.0611 0.0222 0.1056

-0.0194 0.1889 -0.1028

Внимательное изучение элементов матрицы X, или использование формата rational , показы-вает, что они являются целыми числами, разделенными на 360.

Если матрица A является квадратной и несингулярной, то, пренебрегая ошибками округле-ния, выражение X = inv(A)*B теоретически означает то же, что и X = A\B , а Y = B*inv(A) теоретически есть то же, что и Y = B/A. Однако вычисления включающие операторы \ и / более предпочтительны, поскольку требуют меньше рабочего времени, меньшей памяти и имеют лучшие свойства с точки зрения определения ошибок.

Псевдообратные матрицы

Прямоугольные матрицы не имеют детерминантов и обратных матриц. Для таких матриц по крайней мере одно из уравнений AX = I или XA = I не имеет решения. Частично данный про-бел восполняется так называемой псевдообратной матрицей Мура-Пенроуза, или просто псевдообратной матрицей, которая вычисляется при помощи функции pinv. На практике необходимость в этой операции встречается довольно редко. Желающие могут всегда обра-титься к соответствующим справочным пособиям.

Степени матриц и матричные экспоненты

Положительные целые степени

Если А есть некоторая квадратная матрица, а р - положительное целое число, то A^p эквива-лентно умножению A на себя р раз.

X = A^2

X =

3 6 10

6 14 25

10 25 46

Отрицательные и дробные степени

Если А является квадратной и невырожденной, то A^(-p) эквивалентно умножению inv(A) на себя p раз.

Y = B^(-3)

Y =

0.0053 -0.0068 0.0018

-0.0034 0.0001 0.0036

-0.0016 0.0070 -0.0051

Дробные степени, например A^(2/3), также допускаются; результаты при этом зависят от ра-спределения собственных значений матрицы А.

Поэлементное возведение в степень

Оператор .^ (с точкой !) осуществляет поэлементное возведение в степень. Например,

X = A.^2

A =

1 1 1

1 4 9

1 9 36

Вычисление корня квадратного из матрицы и матричной экспоненты

Для невырожденных квадратных матриц А функция sqrtm вычисляет главное значение квад-ратного корня , т.е. если X = sqrtm(A) , то X*X = A . Буква m в sqrtm означает, что выпол-няется матричная операция. Это отличает данную функцию от sqrt(A), которая, подобно A.^(1/2) (обратите внимание на точку !), выполняет операцию извленчения корня поэлемен-тно.

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

dx/dt = Ax

где x = x(t) есть векторная функция от t, а A есть постоянная матрица не зависящая от t.

Решение данной системы может быть выражено в виде матричной экспоненты.

x(t) = ?Atx(0)

Функция expm(A) вычисляет матричную экспоненту. Рассмотрим пример системы диффере-нциальных уравнений со следующей 3х3 матрицей коэффициентов

A =

0 -6 -1

6 2 -16

-5 20 -10

и начальными условиями x(0)

x0 = [ 1 1 1]'.

Использование матричной экспоненты для вычисления решения дифференциального уравне-ния в 101 точке с шагом 0.01 на интервале 0 ? t ? 1 записывается в виде

X = [ ];

for t = 0 : 0.01 : 1

X = [X expm(t*A)*x0];

end

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

plot3(X(1,:), X(2,:), X(3,:), '-o')

Решение имеет вид спиральной функции сходящейся к началу координат (см. рис. ниже). Та-кое решение обусловлено комплексными собственными значениями матрицы коэффициен-тов А.

Собственные значения и собственные векторы

Собственным значением и собственным вектором квадратной матрицы А называются ска-ляр л и вектор v, удовлетворяющие условию

Av = лv

Диагональная декомпозиция

Имея диагональную матрицу Л, составленную из собственных значений л матрицы А и мат-рицу V , составленную из соответствующих собственных векторов v, можно записать

AV = VЛ

Если матрица V несингулярная, на основании данного выражения получаем спектральное разложение матрицы А

А = VЛV-1

Неплохой пример использования спектрального разложения дает рассмотренная выше мат-рица коэффициентов линейного дифференциального уравнения. Ввод выражения

lambda = eig(A)

дает следующий вектор-столбец собственных значений (два из них являются комплексно-сопряженными)

lambda =

-3.0710

-2.4645 + 17.6008i

-2.4645 - 17.6008i

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

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

.

[V,D] = eig(A)

V =

-0.8326 0.2003 - 0.1394i 0.2003 + 0.1394i

-0.3553 -0.2110 - 0.6447i -0.2110 + 0.6447i

-0.4248 -0.6930 -0.6930

D =

-3.0710 0 0

0 -2.4645+17.6008i 0

0 0 -2.4645-17.6008i

Первый собственный вектор (первый столбец матрицы V) является действительным, а два других являются комплексно-сопряженными. Все три вектора являются нормализованными по длине, т.е. их Евклидова норма norm(v,2), равна единице.

Матрица V*D*inv(V), которая в более сжатой форме может быть записана как V*D/V, равна, в пределах погрешностей округления, матрице А. Аналогично, inv(V)*A*V, или V\A*V, рав-на, в пределах погрешностей округления, матрице D.

Дефектные матрицы

Некоторые матрицы не имеют спектрального разложения. Такие матрицы называются дефек-тными или не диагонализируемыми. Например, пусть матрица А имеет вид

A =

6 12 19

-9 -20 -33

4 9 15

Для этой матрицы ввод [V, D] = eig(A) дает

V =

-0.4741 -0.4082 -0.4082

0.8127 0.8165 0.8165

-0.3386 -0.4082 -0.4082

D =

-1.0000 0 0

0 1.0000 0

0 0 1.0000

Здесь имеются два положительных единичных кратных собственных значений. Второй и третий столбцы матрицы V являются одинаковыми и поэтому полного набора линейно-неза-висимых собственных векторов не существует (и поэтому не существует обратная матрица V-1).

Сингулярное разложение матриц

Сингулярным значением и соответствующими сингулярными векторами прямоугольной ма-трицы A называются скаляр у и пара векторов u и v такие, что удовлетворяются соотноше-ния

Av = уu

ATu = уv

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

AV = U У

ATU = V У

Поскольку U и V являются ортогональными матрицами, это можно записать в виде сингуляр-ного разложения

A = U УVT

Полное сингулярное разложение матрицы А размера mхn включает mхm матрицу U, mхn матрицу У, и nхn матрицу V. Другими словами, обе матрицы U и V являются квадратными , а матрица У имеет тот же размер, что и A. Если A имеет намного больше строк чем столб-цов, результирующая матрица U может быть достаточно большой, но большинство ее столб-цов умножаются на нули в У . В таких ситуациях может быть использована так называемая экономичная декомпозиция, которая сберегает как время так и память, за счет вывода матри-цы U размера mхn, матрицы У размера nхn и той же матрицы V.

Спектральное разложение является подходящим инструментом анализа матрицы, когда пос-ледняя осуществляет преобразование векторного пространства в себя, как это было в рас-смотренном выше примере дифференциальных уравнений. С другой стороны, сингулярное разложение матриц удобно при отображении одного векторного пространства в другое, возможно с иной размерностью. Большинство систем совместных линейных уравнений отно-сятся ко второй категории. Если матрица А является квадратной, симметричной и поло-жительно-определенной, то ее спектральное и сингулярное разложения совпадают. Но при отклонении A от симметричной и положительно-определенной матрицы, разница между двумя разложениями возрастает. В частности, сингулярное разложение действительной мат-рицы всегда действительно, но спектральное разложение действительной несимметричной матрицы может быть и комплексным.

Для матрицы

A =

9 4

6 8

2 7

полное сингулярное разложение задается в форме

[U,S,V] = svd(A)

и приводит к следующим результатам

U =

-0.6105 0.7174 0.3355

-0.6646 -0.2336 -0.7098

-0.4308 -0.6563 0.6194

S =

14.9359 0

0 5.1883

0 0

V =

-0.6925 0.7214

-0.7214 -0.6925

Вы можете убедиться, что матрица U*S*V' равна А с точностью до ошибок округления. Для этого примера экономичная декомпозиция дает незначительный эффект.

[U,S,V] = svd(A,0)

U =

-0.6105 0.7174

-0.6646 -0.2336

-0.4308 -0.6563

S =

14.9359 0

0 5.1883

V =

-0.6925 0.7214

-0.7214 -0.6925

Как и в первом случае, матрица U*S*V' равна A с точностью до ошибок округления.

Полиномы и интерполяция

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

Полиномы и действия над ними

Обзор полиномиальных функций

Функция

Описание

conv

Умножение полиномов.

deconv

Деление полиномов.

poly

Вычисление характеристического полинома матрицы или определение полинома с заданными корнями.

polyder

Вычисление производных от полиномов.

polyfit

Аппроксимация данных полиномом.

polyval

Вычисление значений полиномов в заданных точках.

polyvalm

Вычисление значений матричного полинома.

residue

Разложение на простые дроби (вычисление вычетов).

roots

Вычисление корней полинома.

Представление полиномов

MATLAB представляет полиномы как векторы-строки, содержащие коэффициенты полино-мов по убывающим степеням. Например, рассмотрим следующее уравнение

p(x) = x3 - 2x - 5

Это известный пример Валлиса (Wallis), использованный при первом представлении метода Ньютона во Французкой Академии. Мы будем использовать его в дальнейшем при рассмот-рении примеров использования различных функций. Для ввода данного полинома в MATLAB, следует записать

p = [1 0 -2 -5].

Корни полинома

Корни полинома вычисляются при помощи функци roots :

r = roots(p)

r =

2.0946

-1.0473 + 1.1359i

-1.0473 - 1.1359i

MATLAB запоминает вычисленные корни как вектор-столбец. Функция poly выполняет об-ратную роль, то есть по заданным корням полинома вычисляет значения его коэффициентов (обратите внимание на значение второго коэффициента, который в идеале равен нулю).

p2 = poly(r)

p2 =

1 8.8818e-16 -2 -5

Функции poly и roots являются взаимно-обратными функциями, с точностью до упорядоче- ния коэффициентов, масштабирования и ошибок округления.

Характеристические полиномы

Функция poly вычисляет также коэффициенты характеристического полинома матрицы:

A = [1.2 3 -0.9; 5 1.75 6; 9 0 1];

poly(A)

ans =

1.0000 -3.9500 -1.8500 -163.2750

Корни данного полинома, вычисленные при помощи функции roots, являются собственными значениями (характеристическими числами) матрицы А. (При практических расчетах, для вычисления собственных значений матриц целесообразно вычислять их посредством функ-ции eig.)

Вычисление значений полинома

Функция polyval вычисляет значение полинома в заданных точках. Для вычисления p в точ-ке s = 5, следует записать

polyval(p,5)

ans =

110

Можно также вычислить значение матричного полинома. Так, вместо полинома Валлиса мо-жно записать:

p(X) = X3 - 2X - 5I

где X является квадратной матрицей, а I - единичной матрицей. Например, сформируем сле-дующую квадратную матрицу X

X = [2 4 5; -1 0 3; 7 1 5];

и вычислим значение заданного выше полинома p(X) на данной матрице.

Y = polyvalm(p, X)

Y =

377 179 439

111 81 136

490 253 639

Умножение и деление полиномов

Для умножения и деления полиномов предназначены соответственно функции conv и deconv. Рассмотрим полиномы a(s) = s2 + 2s + 3 и b(s) = 4s2 + 5s + 6. Для вычисления их произведения следует ввести

a = [1 2 3]; b = [4 5 6];

c = conv(a,b)

MATLAB возвращает

c =

4 13 28 27 18

Для получения из с полинома b воспользуемся функцией deconv:

[q, r] = deconv(c, a)

q =

4 5 6

r =

0 0 0 0 0

где r - остаток после деления (в данном случае нулевой вектор). В общем случае для поли-номов q, r , c, a в функции deconv справедливо соотношение

c = conv(q, a) + r

Вычисление производных от полиномов

Функция polyder вычисляет производную любого полинома. Для получения производной от нашего полинома p = [1 0 -2 -5], введем

q = polyder(p)

q =

3 0 - 2

Функция polyder вычисляет также производные от произведения или частного двух полино-мов. Например, создадим два полинома a и b:

a = [1 3 5]; b = [2 4 6];

Вычислим производную произведения a*b вводом функции polyder с двумя входными аргу-ментами a и b и одним выходным:

c = polyder(a, b)

c =

8 30 56 38

Вычислим производную от частного a/b путем ввода функции polyder с двумя выходными аргументами:

[q, d] = polyder(a, b)

q =

-2 -8 -2

d =

4 16 40 48 36

где отношение двух полиномов q/d является результатом операции дифференцирования.

Аппроксимация кривых полиномами

Функция polyfit находит коэффициенты полинома заданной степени n , который аппрокси-мирует данные (или функцию y(x)) в смысле метода наименьших квадратов:

p = polyfit(x, y, n)

где x и y есть векторы, содержащие данные x и y, которые нужно аппроксимировать полино-мом. Например, рассмотрим совокупность данных x-y, полученную экспериментальным пу-тем

x = [1 2 3 4 5]; y = [5.5 43.1 128 290.7 498.4].

Аппроксимация функциональной зависимости y(x) в виде полинома третьего порядка

p = polyfit(x,y,3)

дает коэффициенты полинома

p =

-0.1917 31.5821 -60.3262 35.3400

Рассчитаем теперь значения полинома, полученного при помощи функции polyfit, на более мелкой шкале (с шагом 0.1) и построим для сравнения графики (это делает функция plot) реальных данных и аппроксимирующей кривой.

x2 = 1 : 0.1 : 5;

y2 = polyval(p, x2);

plot(x, y, 'o', x2, y2); grid on

где функция grid on служит для нанесения координатной сетки, а экспериментальные дан-ные на графике отмечены маркерами о.

.

Как видно из рисунка, полином третьего порядка достаточно хорошо аппроксимирует наши данные.

Разложение на простые дроби

Функция residue вычисляет вычеты, полюса и многочлен целой части отношения двух поли-номов. Это особенно полезно при представлении систем управления в виде передаточных функций. Для полиномов a(s) и b(s), при отсутствии кратных корней имеем

где r есть вектор-столбец вычетов, p есть вектор-столбец полюсов, а k есть вектор-строка це-лой части дробно-рациональной функции. Рассмотрим передаточную функцию

Для полиномов числителя и знаменателя этой функции имеем:

b = [-4 8]; a = [1 6 8].

Введя

[r, p, k] = residue(b, a)

получим

r =

-12

8

p =

-4

-2

k =

[ ]

Функция residue с тремя входными (r, p, и k) и двумя выходными (b2, a2) аргументами вы-полняет обратную функцию свертки имеющегося разложения на простые дроби, в дробно-рациональную функцию отношения двух полиномов.

[b2, a2] = residue(r, p, k)

b2 =

-4 8

a2 =

1 6 8

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

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

Интерполяция

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

Обзор функций интерполяции

Функции

Описание

griddata

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

griddata3

Трехмерная интерполяция на неравномерной сетке.

griddatan

Многомерная интерполяция (n >= 3).

interp1

Одномерная табличная интерполяция.

interp2

Двухмерная табличная интерполяция.

interp3

Трехмерная табличная интерполяция.

interpft

Одномерная интерполяция с использованием быстрого преобразования Фурье.

interpn

Многомерная табличная интерполяция.

pchip

Кубическая интерполяция при помощи полинома Эрмита.

spline

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

Одномерная интерполяция

Двумя основными типами одномерной интерполяции в MATLAB-е являются полиномиаль-ная интерполяция и интерполяция на основе быстрого преобразования Фурье.

1. Полиномиальная интерполяция

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

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

где y есть вектор, содержащий значения функции; x - вектор такой же длины, содержащий те точки (значения аргумента), в которых заданы значения y; вектор xi содержит те точки, в ко-торых мы хотим найти значения вектора y путем интерполяции; method - дополнительная строка, задающая метод интерполяции. Имеются следующие возможности для выбора мето-да:

* Ступенчатая интерполяция (method = 'nearest'). Этот метод приравнивает значение функ-ции в интерполируемой точке к ее значению в ближайшей существующей точке имеющихся данных.

* Линейная интерполяция (method = 'linear'). Этот метод аппроксимирует функцию между любыми двумя существующими соседними значениями как линейную функцию, и возвр-ащает соответствующее значение для точки в xi (метод используется по умолчанию).

* Интерполяция кубическими сплайнами (method = 'spline'). Этот метод аппроксимирует ин-терполируемую функцию между любыми двумя соседними значениями при помощи куби-ческих функций, и использует сплайны для осуществления интерполяции.

* Кубическая интерполяция (method = 'pchip' или 'cubic'). Эти методы идентичны. Они ис-пользуют кусочную кубическую Эрмитову аппроксимацию и сохраняют монотонность и форму данных.

Если какой-либо из элементов вектора xi находится вне интервала, заданного вектором x, то выбранный метод интерполяции используется также и для экстраполяции. Как альтернатива,

функция yi = interp1(x, y, xi, method, extrapval) заменяет экстраполированные значения теми, которые заданы вектором extrapval. Для последнего часто используется нечисловое значение NaN.

Все методы работают на неравномерной сетке значений вектора x .

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

* Метод ступенчатой аппроксимации является самым быстрым, однако он дает наихудшие результаты с точки зрения гладкости.

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


© 2010 BANKS OF РЕФЕРАТ