Итак, похоже, что армадилло не имеет возможности интерполяции (по крайней мере, я не могу найти ссылки на него в документации). Мне было интересно, есть ли у кого-нибудь какие-либо предложения о том, как лучше всего реализовать сплайн и линейную интерполяцию, используя rowvec в качестве входных и выходных данных?Интерполяция с использованием armadillo
ответ
Как у вас уже есть исходный код алгоритма интерполяции, три возможных варианта приходят на ум:
Refactor код непосредственно использовать классы Армадилла вместо своих собственных массивов (например, матрицы и векторы.) ,
Используйте код как есть, а затем установите экземпляр матричных или векторных классов Armadillo для использования памяти массивов, созданных алгоритмом интерполяции. См. Документы для продвинутых Mat constructors.
Немного измените существующий код, используя память/массивы, выделенные Armadillo. Указатель на память, используемую матрицами и векторами Армадилло, можно легко получить с помощью функции .memptr().
Выбор 3, вероятно, самый простой для взаимодействия с существующим кодом.
Спасибо mtall, я в конечном итоге использовал какой-то существующий код, переписанный с типами данных Armadillo. Я пытался избежать этого, так как я пишу большой кусок кода для распространения и стараюсь, когда это возможно, использовать доверенные библиотеки (по опыту это самый надежный подход). Однако я также хочу избежать добавления дополнительных зависимостей библиотек для относительно небольших функциональных возможностей, то есть в этом случае линейная интерполяция 1d-данных. – dmon
Извините, позвольте мне быть более ясным ... Я не ищу исходный код для алгоритма интерполяции, который у меня есть, то, что я хотел бы, это разумно совместимая реализация библиотеки (очевидно, потребуется какое-то кастинг). Cheers – dmon
вы что-то нашли с тех пор? – pyCthon
Извините pyCthon, я этого не сделал. Я уверен, что они там, но я не нашел достаточно простого для удовлетворения моих потребностей. – dmon