exponenta event banner

newknt

Новое распределение перерывов

Синтаксис

newknots = newknt(f,newl)
newknt(f)
[...,distfn] = newknt(...)

Описание

newknots = newknt(f,newl) возвращает последовательность узлов, внутренние узлы которой разрезают базовый интервал f в newl куски, таким образом, что определенная кусочно-линейная монотонная функция связана с высокой производной f равномерно распределяется.

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

newknt(f) использует для newl его значение по умолчанию, а именно количество частей многочлена в f.

[...,distfn] = newknt(...) также возвращает, в distfn, ppform этой кусочно-линейной монотонной функции является равнораспределенной.

Примеры

Если ошибка в аппроксимации наименьших квадратов sp к некоторым данным x,y по сплайну порядка k кажется неравномерным, вы можете попытаться более справедливое распределение узлов с помощью

spap2(newknt(sp),k,x,y);

Другой пример см. в разделе Решение нелинейной ОДУ с граничным слоем путем коллокации.

Алгоритмы

Это рутина Фортрана NEWNOT в PGS. С k порядок кусочно-полиномиальной функции f в pp, функция | Dkf | аппроксимируется кусочно-постоянной функцией, полученной локальным, дискретным, дифференцированием вариации Dk-1f. Новая последовательность разрыва выбирается для разделения основного интервала кусочно-многочлена f таким образом, чтобы

∫newknots (i) ньюкноты (i + 1) | Dkf |  1/k = const, i = k: k + newl − 1