Dmitrii писал(а):
К сожалению, полностью изложить всю задачу - очень трудно, т.к. тогда пришлось бы описывать весь метод декомпозиции на эмпирические моды. Надеюсь, что предоставленных сведений будет достаточно для дачи совета.
...А если бы и изложили, то я, например, вряд ли бы стал вникать глубоко --- ситуация не позволяет.
Здесь видятся две возможности.
Кто-то знает предмет вплоть до адаптивности, декомпозиции (возможно речь идёт об специфике интерполяции в обработке сигналов) и понимает, зачем нужны две такие огибающих, и проч. --- и что-то подскажет.
Для остальных (позволю себе так экстраполировать себя) проблема выглядит так: есть набор точек (таблица значений функции), строю кубический сплайн, а он у меня на границах как-то плохо себя ведёт. Т.е. в этой постановке потенциальный советчик фильтрует и отбрасывает информацию о том, что строятся две кривые (одна, семь --- какая разница?), что внутренние точки --- экстремумы какой-то функции. Просто надо построить куб. сплайн по таблице точек.
Я давал совет с этих позиций.
Я когда-то интересовался сплайнами, но интерполировал не функции, а плоские кривые. Здесь есть существенная разница: при интерполяции кривой дана таблица
, а строится две функции
. Значения аргумента
приходится искусственно выбирать. Простейший вариант ---
некорректен, и обычно в качестве
берётся накопленная длина ломаной (что геометрически обосновано). После этого задача сводилась к интерполяции функции.
Следующей была проблема граничных условий, которая есть и в Вашей задаче --- интерполяции функции по таблице
(где никаких искусственных аргументов придумывать не надо).
Вопрос о граничных условиях (обычно это производные на концах) обойти, как мне помнится, невозможно. Либо Вы взяли готовый алгоритм сплайнования, который сам молча как-то их выбирает и Вам не говорит (или говорит, но Вы не прочитали
). Либо Вы пишете его сами, составляете 3-диагональную матрицу, решаете линейную систему методом прогонки (новые современные штучки, if any, мне неизвестны). Но при составлении матрицы Вы так или иначе должны либо понизить порядок сплайна, либо осознано задать значения производных, либо что-то ещё. От этого граничные эффекты должны зависеть в первую очередь.
Так мне кажется.