Я не могу тщательно протестировать это на своем компьютере, но «инструментарий» LightSpeed, похоже, представляет собой не что иное, как набор «файлов» (хотя и требует начальной компиляции).
Добавление этой коллекции к пути приводит к тому, что она затеняет основную октавную функцию (glob
), которой в matlab не существует.
Обходной путь - создать пространство имен, то есть вместо того, чтобы добавлять нарушающие элементы непосредственно в путь, обернуть их вокруг папки с плюсом ('+') перед именем (например, "+ Lightspeed") и добавьте это к пути. Затем вы можете вызвать все функции Lightspeed, определенные этим пространством имен, например, "Lightspeed.digamma".
Теоретически это должно работать; это зависит от конкретной реализации, насколько разумно они обрабатывают относительные ссылки и т. д., но в теории это должно быть хорошо.
Кроме того, вы можете просто немного изменить код Lightspeed и заменить все вхождения glob
на Lglob
или что-то в этом роде.
Или, как предложил Cris, вы можете попробовать удалить Lightspeed из пути и загружать его только тогда, когда вам нужно использовать одну из его функций (или cd
в его папку перед выполнением связанных с Lightspeed вещей).
Как отмечено в комментариях, это стоит поднять как ошибку, как для Lightspeed 1 , так и для Octave.
1: Хотя, по-видимому, Lightspeed просто скажет, что не поддерживает Octave, вы можете попробовать исправить код самостоятельно