Новое распределение перерывов
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 таким образом, чтобы
= k: k + newl − 1