Spec-Zone.ru › Octave 8

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

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

: p = polyfit (x, y, n) ¶
: [p, s] = polyfit (x, y, n) ¶
: [p, s, mu] = polyfit (x, y, n) ¶

Возвращает коэффициенты полинома p(x) степени n, который минимизирует ошибку наименьших квадратов подгонки к точкам [x(:), y(:)].

n обычно является целым числом ≥ 0, определяющим степень аппроксимирующего полинома. Если n является логическим вектором, он используется в качестве маски для выборочного принудительного использования или игнорирования соответствующих коэффициентов полинома.

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

Необязательный выходной параметр s представляет собой структуру, содержащую следующие поля:

‘yf’

Значения полинома для каждого значения x.

‘X’

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

‘R’

Треугольный множитель R из QR-разложения.

‘C’

Немасштабированная ковариационная матрица, формально равная обратной матрице x’*x, но вычисляется таким образом, чтобы минимизировать распространение погрешностей округления.

‘df’

Число степеней свободы.

‘normr’

Норма остатков.

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

sqrt (diag (s.C)/s.df) * s.normr.

Когда присутствует третий выходной параметр mu, исходные данные центрируются и масштабируются, что может улучшить числовую устойчивость подгонки. Коэффициенты p соответствуют полиному в

xhat = (x - mu(1)) / mu(2)
где mu(1) = среднее (x), и mu(2) = стандартное отклонение (x).

Пример 1: логическое n и целое n

f = @(x) x.^2 + 5;   # data-generating function
x = 0:5;
y = f (x);
## Fit data to polynomial A*x^3 + B*x^1
p = polyfit (x, y, logical ([1, 0, 1, 0]))
⇒ p = [ 0.0680, 0, 4.2444, 0 ]
## Fit data to polynomial using all terms up to x^3
p = polyfit (x, y, 3)
⇒ p = [ -4.9608e-17, 1.0000e+00, -3.3813e-15, 5.0000e+00 ]

См. также: polyval, polyaffine, roots, vander, zscore.

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

: pp = splinefit (x, y, breaks) ¶
: pp = splinefit (x, y, p) ¶
: pp = splinefit (…, "periodic", periodic) ¶
: pp = splinefit (…, "robust", robust) ¶
: pp = splinefit (…, "beta", beta) ¶
: pp = splinefit (…, "order", order) ¶
: pp = splinefit (…, "constraints", constraints) ¶

Подгоняет кусочно-кубический сплайн с разрывами (узлами) breaks к шумящим данным x и y.

x – вектор, а y – вектор или N-мерный массив. Если y является N-мерным массивом, то x(j) сопоставляется с y(:,…,:,j).

p – положительное целое число, определяющее количество интервалов вдоль x, а p+1 – количество разрывов. Количество точек в каждом интервале отличается не более чем на 1.

Необязательный параметр periodic – логическое значение, которое указывает, применяется ли периодическое граничное условие к сплайну. Длина периода равна max (breaks) - min (breaks). Значение по умолчанию – false.

Необязательный параметр robust – логическое значение, которое указывает, применяется ли устойчивая подгонка для уменьшения влияния выбросов. Выполняются три итерации взвешенных наименьших квадратов. Веса вычисляются из предыдущих остатков. Чувствительность определения выбросов регулируется параметром beta. Значение beta ограничено интервалом 0 < beta < 1. Значение по умолчанию – beta = 1/2. Значения, близкие к 0, придают всем данным одинаковый вес. Увеличение значений beta уменьшает влияние выбросов. Значения, близкие к единице, могут вызвать неустойчивость или вырожденность ранга.

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

Сплайны строятся из полиномов степени order. По умолчанию кубический, order=3. Сплайн с P частями имеет P+order степеней свободы. При периодических граничных условиях степени свободы уменьшаются до P.

Необязательный параметр constraints представляет собой структуру, определяющую линейные ограничения на подгонку. Структура имеет три поля, "xc", "yc", и "cc".

"xc"

Вектор расположений x ограничений.

"yc"

Значения ограничений в расположениях xc. По умолчанию массив нулей.

"cc"

Коэффициенты (матрица). По умолчанию массив единиц. Количество строк ограничено степенью кусочно-полиномиальных функций, order.

Ограничения являются линейными комбинациями производных порядка от 0 до order-1 согласно

cc(1,j) * y(xc(j)) + cc(2,j) * y'(xc(j)) + ... = yc(:,...,:,j).

См. также: interp1, unmkpp, ppval, spline, pchip, ppder, ppint, ppjumps.

Количество breaks (или узлов), используемых для построения кусочно-полиномиальной функции, является значимым фактором в подавлении шума, присутствующего в входных данных x и y. Это продемонстрировано в примере ниже.

x = 2 * pi * rand (1, 200);
y = sin (x) + sin (2 * x) + 0.2 * randn (size (x));
## Uniform breaks
breaks = linspace (0, 2 * pi, 41); % 41 breaks, 40 pieces
pp1 = splinefit (x, y, breaks);
## Breaks interpolated from data
pp2 = splinefit (x, y, 10);  % 11 breaks, 10 pieces
## Plot
xx = linspace (0, 2 * pi, 400);
y1 = ppval (pp1, xx);
y2 = ppval (pp2, xx);
plot (x, y, ".", xx, [y1; y2])
axis tight
ylim auto
legend ({"data", "41 breaks, 40 pieces", "11 breaks, 10 pieces"})

Результат которого можно увидеть на рисунке 28.1.

<img alt="splinefit1" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAINCAMAAABWEwrUAAACu1BMVEX////g4OAAAAC4uLj7+/smJiY9PT0Acr3ExMRXV1eEhISYmJhjY2MvLy8gICDv7+99fX2fn5+AgIDwuqLnkWz10n7tsiP//v4oKCj32pbyxlv55LHxwk739/cEBATwvkb22I/55rb77cxRUVH55Ns3NzfQ0ND0znL218n//fvxv6n++vFFRUV7e3vZUxl0dHTrooPY2Nj879LutS3wvD7zymf99N/0y7r54qztqo3cXif21on3284KCgryw68YGBj0zG3spojmi2RUVFTvuDUQEBD44KeoqKjzyGHz8/MsLCz88esyMjLzyLX20sPLy8v66LzolXFAQEDxvKZvcXGlpaXmjmfdYy1KSklgYF/qnn311IP33JsUFBSJiYnkhl3++OodHR3usZfgckLeZzP99ubyw1XliGD99PCtra3768b88tnvt5700Hizs7NaWlr5+fm9vb3jfVH43qH66N+cnJzkhFr76uJNTU3++PXeazbtrZHn5+f66sHqpC3fbjzie0t5eXhpZGuOjo7rrCXheEqgoKDIyMj//PbjgFTV1dX++vnaVx6Tk5P43tPOzs71z77pm3k5OTn9/f3usJT77ObCwcAlJSX87ujbWiK6uro+Pj7e3t7kglcOcrJpaWldXV3pmHTmkSf54dciIiJ5YWHt7e2FX1jhdUbFVCUibaTtrEIke6bl5eXvt0lCaIuWlpYza5ZrjXa4VzH54tPutXbq6uqqWTuqnkzvtJrkgzA8gZXWqi/pmXbc3NzX19eYWkVYZnvus1xiYmBtbW3pnT7nk0Pro0nwuobdeSa9o0CVmlrSVB7omiTyw3vpmVnxv2R8k2tViYX21KDT09O2jD3rqFrOkyrywo7rpXeTcCna2tp0OSD0zInqn2Opd0TmjFGhRRx2WDz3276IkWLzyKCsjEfHs6s1d5lXFOA3AAAgAElEQVR42uyd2VNTWR7Hj4fEIEJAFBJhEhCkEUWxxwVBQwRJgwjSIiguiR1ccQN3XGhFS3ABQXFApS1om9J+aHqxp6ixZtqurtYpp+dlHnyYKqvmb5m75p4kVwgh0SzfzwP3nJObH6H45PA75978IAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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

Рисунок 28.1: Сравнение аппроксимации кусочно-полиномиальной функцией с 41 разрывом и с 11 разрывами. Аппроксимация с большим числом разрывов демонстрирует быструю пульсацию, которая отсутствует в исходной функции.

Кусочно-полиномиальная аппроксимация, предоставляемая splinefit, имеет непрерывные производные до порядка order-1. Например, кубическая аппроксимация имеет непрерывные первую и вторую производные. Это демонстрируется кодом

## Data (200 points)
x = 2 * pi * rand (1, 200);
y = sin (x) + sin (2 * x) + 0.1 * randn (size (x));
## Piecewise constant
pp1 = splinefit (x, y, 8, "order", 0);
## Piecewise linear
pp2 = splinefit (x, y, 8, "order", 1);
## Piecewise quadratic
pp3 = splinefit (x, y, 8, "order", 2);
## Piecewise cubic
pp4 = splinefit (x, y, 8, "order", 3);
## Piecewise quartic
pp5 = splinefit (x, y, 8, "order", 4);
## Plot
xx = linspace (0, 2 * pi, 400);
y1 = ppval (pp1, xx);
y2 = ppval (pp2, xx);
y3 = ppval (pp3, xx);
y4 = ppval (pp4, xx);
y5 = ppval (pp5, xx);
plot (x, y, ".", xx, [y1; y2; y3; y4; y5])
axis tight
ylim auto
legend ({"data", "order 0", "order 1", "order 2", "order 3", "order 4"})

Результат, который можно увидеть на рисунке 28.2.

<img alt="splinefit2" src="data:image/png;base64,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

Рисунок 28.2: Сравнение кусочно-постоянного, линейного, квадратного, кубического и четырёхчленного многочлена с 8 разрывами с шумящими данными. Решения более высоких порядков более точно представляют собой функцию, но сопряжены с повышенной вычислительной сложностью.

Когда подлежащая функция для подгонки является периодической, splinefit может применять граничные условия, необходимые для отображения периодической подгонки. Это демонстрируется кодом ниже.

## Data (100 points)
x = 2 * pi * [0, (rand (1, 98)), 1];
y = sin (x) - cos (2 * x) + 0.2 * randn (size (x));
## No constraints
pp1 = splinefit (x, y, 10, "order", 5);
## Periodic boundaries
pp2 = splinefit (x, y, 10, "order", 5, "periodic", true);
## Plot
xx = linspace (0, 2 * pi, 400);
y1 = ppval (pp1, xx);
y2 = ppval (pp2, xx);
plot (x, y, ".", xx, [y1; y2])
axis tight
ylim auto
legend ({"data", "no constraints", "periodic"})

Результат можно увидеть на рисунке 28.3.

splinefit3

Рисунок 28.3: Сравнение кусковых полиномиальных аппроксимаций шумной периодической функции с периодическими граничными условиями и без них.

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

## Data (200 points)
x = 2 * pi * rand (1, 200);
y = sin (2 * x) + 0.1 * randn (size (x));
## Breaks
breaks = linspace (0, 2 * pi, 10);
## Clamped endpoints, y = y' = 0
xc = [0, 0, 2*pi, 2*pi];
cc = [(eye (2)), (eye (2))];
con = struct ("xc", xc, "cc", cc);
pp1 = splinefit (x, y, breaks, "constraints", con);
## Hinged periodic endpoints, y = 0
con = struct ("xc", 0);
pp2 = splinefit (x, y, breaks, "constraints", con, "periodic", true);
## Plot
xx = linspace (0, 2 * pi, 400);
y1 = ppval (pp1, xx);
y2 = ppval (pp2, xx);
plot (x, y, ".", xx, [y1; y2])
axis tight
ylim auto
legend ({"data", "clamped", "hinged periodic"})

Результат можно увидеть на рисунке 28.4.

<img alt="сплайнфит4" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAINCAMAAABWEwrUAAADAFBMVEX///89PT2EhISYmJgmJib8+/vg4OAAcr3ExMRXV1e4uLhjY2MAAABKSkp9fX0fHx/T09Ofn5/32pXQ0ND10n/tsSHwuqL66sSoqKjnkWx7e3vxwU7yxVkvLy8oKCj22I755LL//fr0zXLzyGD657r+/f1zc3P//v7vtZzjflL10HjvujoVFRX88tpQUFBAQEC0tLTtqo1TU1M1NTXZUxrvtzL99OD436L88NT21IT0zbzusyUPDw8ICAjusZbzxrP7+vnwv0iKioo5OTn0yrf21onomHbxvabBwcD44dfeZjD54qzzzGz++vHgc0TwvUH77cv33Z7fazj76eL32MosLCwZGRl5eHivrq7++e3x8fFPT0/hd0nrpIXqnn365t6cnJzutCrolXHn5+dubm/+9+nxwlXzymfnj2f549nrrSPIyMjX19f10cHkgleVlZXjhV339/fyw6/trZH21Mbpm3jLy8vsrCxqamq9vb399uT779COjo5ISEjiek1cXFzrpDHbWyTd3d0yMjLsp4ndYizliF+hoaFFRUXroYHgcD+RkZH//PX87+n++fbywazaVx+rq6v99PD44Kk+Pj7325r09PT77ObmimJgYGDonCPppSTwulQiIiL328/cXyn99fJMhopfX1/mjGXus0XgdSSBgYG2okTMzMzusTRNTU3xv6n43tLnlCfqnzLv7+/p6enkhTG7u7sUdbA5gZfliyPs7Ozwu4Snp6dzkXFHaYh0YWXmjTftrDvwu2bqoEf98u3jfiLaqCuJX1UvbZryw2/OkCxzdnacXETMqDnqn2Nii3xoZGzolDvrpkHvuEekpKT317UhbaTrpl7jfDjpmFLusVoqfKHmjUzzy4anh0X54sauWTnl5eXAiziOmF/Ozs7xvpjpmjbspnzyxo7NnTKDlGXsqk710KzusIHvtnL105j206T0zJPkhEpbZniIg162TySjnFGXm1m+bDKYdFDz8/PsqGzpmGgMWYubm1bPz899aDdgNCLNzc3Mu5FoaVhoAAAgAElEQVR42uyde1BU1x3HD3hX0By4wAoo8pZnWN4Ri7mLCKJIzESjLErAR0LxgaKoEAwCEYyPEDEomNp2TUZaJjEmWv4wzFQndhzHNmNn7LRN2z+Y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

Рисунок 28.4: Сравнение двух периодических кусково-кубических аппроксимаций шумного периодического сигнала. Одна аппроксимация имеет зафиксированные конечные точки, а вторая — шарнирные.

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

## Data
x = linspace (0, 2*pi, 200);
y = sin (x) + sin (2 * x) + 0.05 * randn (size (x));
## Add outliers
x = [x, linspace(0,2*pi,60)];
y = [y, -ones(1,60)];
## Fit splines with hinged conditions
con = struct ("xc", [0, 2*pi]);
## Robust fitting, beta = 0.25
pp1 = splinefit (x, y, 8, "constraints", con, "beta", 0.25);
## Robust fitting, beta = 0.75
pp2 = splinefit (x, y, 8, "constraints", con, "beta", 0.75);
## No robust fitting
pp3 = splinefit (x, y, 8, "constraints", con);
## Plot
xx = linspace (0, 2*pi, 400);
y1 = ppval (pp1, xx);
y2 = ppval (pp2, xx);
y3 = ppval (pp3, xx);
plot (x, y, ".", xx, [y1; y2; y3])
legend ({"data with outliers","robust, beta = 0.25", ...
         "robust, beta = 0.75", "no robust fitting"})
axis tight
ylim auto

Результат которого можно увидеть на рисунке 28.5.

<img alt="сплайн-аппроксимация" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAINCAMAAABWEwrUAAADAFBMVEX///89PT0AAACUlJT8/PwmJibg4OAAcr3ExMRXV1eEhISYmJiIiIggICDAwMB9fX1cXFyfn5/325f+/v710n8QEBCfZatgYGDwuqIEBARUVFTnkWzYwN0MDAwwMDC0tLTQ0NByc3PyxVn49/jIyMhQUFBAQED54q322I6rdrWwsLB/MI0pKSmja6/00Hj6+frx8fEVFRUzMzPU1NTtsSG4jMDxwlFubm4dHR3436MZGRn668X0zXD++OromHXzymn66L721YZnZmnt7e0tLS04ODj55bV7e3rqnnzwvD/29Pfo2urMzMx3eHfQstVHR0f++vHsqIlykHL//PencLGxgbrgc0O7kcTVu9vwv0ecXqjeZzKoqKj88tr99ePp6envtp1ZWVmPSZzvuTjYVButra3xwq3zyGLzx7PmjWX88NPheErTt9jifVHutCnv5O/CnMn10cHfbTnjglZSUlLusJa0hr3trI9KSUiEN5KioqKGlWRNhorrpISTUKCBgYE7gpa4o0P++Pb07fUlfKW/l8f77czlhlzcYSuINoOvfLeRkZHvtzDbWySlpaXk1Oj87uiNjY2KQZj439Px6PPOrtCRmF3iz+STQYLbxeDHpc7Gpjn0zLsVd6/3287FocyYWaRDQ0MiIiLliWHKqtH76eGamlZei3+bm5vxvqnZ2dn28fj218kJdLehW0TeyuKqW4P21MZMTEze3t5Bao2fSXboriSiVHLs4O55YWPl5eXDw8OuoErolWy8eJH54te8vLy9b3T88u3qpziXl5ezs7P99vL55NnmlTFeXl6jnVGeToQSbbJUZ37bqyvCVy8kbKLlx9CTO3aVVaO4uLi9vb3Zqq2wZ47BhKCnaF3qpFnSm5zIj6W+vr7poCv65t3NhoG0hUDMljeenp721aKNWlLtsU26urptTn+7WmDjhSq7eFmMSnO/v7+2trbstWR+Q3q3t7ftvIdFWZiaeFXRlFzywW6vdae1tbVdRZecVpfzyH3XoW4pXK44eZk9AJR5xLheAAAgAElEQVR42uydb0wTaR7HHx46DIKVf9vgYIa9UuAMaYQWYnvdU7FQPQ0EdF8ZyCKJrLsaTVy9QGQNd8ScJiqRXOIb70xgsytHVpJFQyJq1iyrh2aP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

Рисунок 28.5: Сравнение двух различных уровней робастного подбора (beta = 0,25 и 0,75) к шумным данным, сочетающимся с выбросами. Также включена обычная подгонка без робастного подбора (beta = 0).

Очень специфической формой полиномической интерпретации является аппроксимация Паде. Для систем управления задержка во временной области может быть очень просто смоделирована с помощью аппроксимации.

: [num, den] = padecoef (T) ¶
: [num, den] = padecoef (T, N) ¶

Вычислить аппроксимацию Паде N-го порядка задержки в непрерывном времени T в форме передаточной функции.

Аппроксимация Паде exp (-sT) определяется следующим уравнением

Pn(s)
exp (-sT) ~ -------
             Qn(s)

Где и Pn(s) и Qn(s) являются рациональными функциями N-го порядка, определёнными следующими выражениями

N    (2N - k)!N!        k
Pn(s) = SUM --------------- (-sT)
        k=0 (2N)!k!(N - k)!

Qn(s) = Pn(-s)

Входные данные T и N должны быть неотрицательными числовыми скалярами. Если N не указан, он по умолчанию равен 1.

Выходные векторы-строки num и den содержат коэффициенты числителя и знаменателя в убывающих степенях s. Оба являются полиномами N-го порядка.

Например:

t = 0.1;
n = 4;
[num, den] = padecoef (t, n)
⇒ num =

      1.0000e-04  -2.0000e-02   1.8000e+00  -8.4000e+01   1.6800e+03

⇒ den =

      1.0000e-04   2.0000e-02   1.8000e+00   8.4000e+01   1.6800e+03

Функция ppval, оценивает кусковые полиномы, созданные mkpp или другими средствами, и unmkpp возвращает подробную информацию о кусковом полиноме.

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

x = [-2, -1, 1, 2];
p = [ 0,  1, 0;
      1, -2, 1;
      0, -1, 1 ];
pp = mkpp (x, p);
xi = linspace (-2, 2, 50);
yi = ppval (pp, xi);
plot (xi, yi);
: pp = mkpp (breaks, coefs) ¶
: pp = mkpp (breaks, coefs, d) ¶

Построить структуру кускового полинома (pp) из точек выборки breaks и коэффициентов coefs.

breaks должен быть вектором строго возрастающих значений. Количество интервалов задается ni = length (breaks) - 1.

Когда m — это порядок полинома, coefs должен иметь размер: ni-by-(m + 1).

i-я строка coefs, coefs(i,:), содержит коэффициенты для полинома на i-м интервале, упорядоченные от высшей (m) до низшей (0) степени.

coefs также может быть многомерным массивом, определяющим векторно-значный или массивно-значный полином. В этом случае порядок полинома m определяется длиной последнего измерения coefs. Размер первых измерений задаётся скалярным или векторным d. Если d не задан, он устанавливается в 1. В этом случае p(r, i, :) содержит коэффициенты для r-го полинома, определённого на интервале i. В любом случае coefs преобразуется в матрицу 2-D размера [ni*prod(d) m].

Примечание по программированию: ppval вычисляет полиномы в xi - breaks(i), т.е. вычитает нижнюю конечную точку текущего интервала из xi. Это необходимо учитывать при создании объектов кусковых полиномов с помощью mkpp.

См. также: unmkpp, ppval, spline, pchip, ppder, ppint, ppjumps.

: [x, p, n, k, d] = unmkpp (pp) ¶

Извлечь компоненты структуры кускового полинома pp.

Эта функция является обратной к mkpp: она извлекает входные данные для mkpp , необходимые для создания структуры кускового полинома pp. Приведенный ниже код делает это соответствие явным:

[breaks, coefs, numinter, order, dim] = unmkpp (pp);
pp2  = mkpp (breaks, coefs, dim);

Структура кускового полинома pp2 полученная таким образом, идентична исходной pp. То же самое можно получить, напрямую обращаясь к полям структуры pp.

Компоненты:

x

Точки выборки или разрывы.

p

Коэффициенты полиномов для точек в интервале выборки. p(i, :) содержит коэффициенты для полинома на интервале i, упорядоченные от высшей до низшей степени. Если d > 1, то p — это матрица размера [n*prod(d) m], где i + (1:d) строки являются коэффициентами всех d полиномов в интервале i.

n

Количество кусков полинома или интервалов, n = length (x) - 1.

k

Порядок полинома плюс 1.

d

Количество полиномов, определённых для каждого интервала.

См. также: mkpp, ppval, spline, pchip.

: yi = ppval (pp, xi) ¶

Вычислить кусковой полином pp в точках xi.

Если pp описывает скалярную полиномиальную функцию, результат является массивом того же размера, что и xi. В противном случае размер результата [pp.dim, length(xi)] если xi вектор, или [pp.dim, size(xi)] если это многомерный массив.

См. также: mkpp, unmkpp, spline, pchip.

: ppd = ppder (pp) ¶
: ppd = ppder (pp, m) ¶

Вычислить кусковую m-ю производную структуры кускового полинома pp.

Если m опущено, вычисляется первая производная.

См. также: mkpp, ppval, ppint.

: ppi = ppint (pp) ¶
: ppi = ppint (pp, c) ¶

Вычислить интеграл структуры кускового полинома pp.

c, если задано, — это постоянная интегрирования.

См. также: mkpp, ppval, ppder.

: jumps = ppjumps (pp) ¶

Оценить скачки границ кускового полинома.

Если есть n интервалов, а размерность pp равна d, результирующий массив имеет размерность [d, n-1].

См. также: mkpp.

© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v8.1.0/Polynomial-Interpolation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API