Как стать автором
Обновить

Комментарии 34

Задам провакационный вопрос: а денюжка за MatLab уплачена?
И почему не Octave?
Тьфу, сорри, не правильно вас понял… это только runtime
Именно. А runtime распространяется бесплатно.
И насколько я знаю octave не умеет собираться в динамические библиотеки. Да и работал я с octave всего пару тройку раз.
честно говоря я не очень понял почему qt… только для графического интерфейса?
Именно. На Qt был реализован графический интерфейс. В MatLab реализована вся логика.
Прикручивал matlab функции к как .net сборку к проекту на c++ cli(не спрашивайте почему), по скорости работы это все очень, очень тормозное.
Ну не знаю. Моя система читала данные с микрофона, делала преобразование Фурье, и прогоняла их через 2 нейронные сети. И все это на ноутбуке и без заметных задержек. Так что со скорость у меня было все в порядке.
Я грешу на .net, а вообще хотелось бы тестов нэйтив vs matlab. Интересно на сколько matlab проигрывает в скорости.
Думаю что не намного. Ведь это лишь вызовы функций из динамических библиотек написанных, судя по википедии, на C. Да и matLab уже заоптимизирован до предела (разработан в конце 1970-х (опять таки судя по википедии)).
Ну и когда я все это тестировал, то сравнивал скорость работы вызова функции fft из библиотек MatLab и из библиотеки fftw (самая мощная реализация Фурье преобразования, которую я смог найти). Время обработки оказалось примерно одинаковое.
Но было бы неплохо увидеть детальное тестирование.
Это весь диплом?
Нет. Дипломом было распознавание голосовых команд при помощи нейронных сетей, а это просто пример чтобы показать как подружить MatLab и C++.
Ааа :)
Интересная тема.
Беглый поиск по сайту не помог, не подскажете, какая лицензия у MCR? Вы говорите, свободно распространяется, интересно, насколько свободно.
You can run MATLAB Compiler from the MATLAB command prompt (MATLAB mode) or the DOS/UNIX prompt (standalone mode).

MATLAB Compiler uses a lingering license. This means that when the MATLAB Compiler license is checked out, a timer is started. When that timer reaches 30 minutes, the license key is returned to the license pool. The license key will not be returned until that 30 minutes is up, regardless of whether MATLAB has exited or not.

Each time a compiler command is issued, the timer is reset.


с сайта mathworks (www_mathworks_com/help/toolbox/compiler/bqrvu87-21.html)
Не очень понятно, если не знать, что такое license pool. У меня пока варианты: «раз в полчаса» и «по полчаса через полчаса». Как правильно это понимать?
Не знаю, я не вчитывался в текст. У меня вообще говоря есть сомнения про бесплатность MCR, но слышу про это уже не первый раз. Просто чтобы говорить наверняка нужно почитать само соглашение, которое я не могу найти.
Поставлю вопрос более конкретно. Могу ли я не имея лицензии:
а) Использовать MCR. То есть компилить матлаб-код, запускать приложения.
б) Распространять скомпиленные приложения, вместе с MCR.
в) Продавать их.
г) Нужно ли при этом раскрывать исходный код (как GPL), или другие побочные эффекты?

Гугл выдает какие-то очень расплывчатые ответы, не могу найти четких формулировок…
а) Лицензия Вам нужна чтобы создать динамическую библиотеку или приложение (ибо делаете Вы это из среды MatLab).
б) Библиотеки специально для этого и предназначены. Без MCR ничего работать не будет. Более того: при компиляции можно указать: встроить MCR внутрь приложения.
в) Думаю что да. Ведь компилили Вы это под лицензионном MatLab-ом, а значить и это тоже Ваше.
г) Исходя из в) — это Ваше право: хотите раскрывайте, хотите нет.
Это лицензия для Matlab compiler. Для MCR лицензии найти не могу, но читал что распространяется свободно. Сейчас буду искать еще.
Да, я тоже читал про такое, в корне папки с MCR нет?
Да действительно. Правда пока не могу вдумчиво вчитаться. Если кому надо, то залил файл на файлообменник:
Простите. Куда-то пропала ссылка: zalil.ru/33515051
Как поведал хабрапользователь Monnoroch использовать MCR возможно при наличии лицензии. Пункт 5.2 лицензионного соглашения.
Если будет интересно напишу как я таким образом распознавал голосовые команды при помощи нейронных сетей.

Да, а еще лучше, чтоб «потрогать» можно было :)
Хорошо. Как только освобожусь, засяду за статью.
НЛО прилетело и опубликовало эту надпись здесь
Именно из за того, что сроки поджимали, а этот подход помогает здорово сэкономить время. Конечно для коммерческого проекта такое решение вряд ли подойдет.
Вы намеренно взяли старую версию компилятора? Новые чем-то хуже? Я поставил 8.5, но заставить работать пока не вышло.
На тот момент это была последняя версия компилятора. Возможно ошибка в том, что я описывал в статье:
Пройдусь немного по путям к библиотекам:
Часть /usr/local/MATLAB/MATLAB_Compiler_Runtime/ может меняться в зависимости от того, куда вы устанавливали MCR.
Часть v716/ это версия самого MatLab и она тоже может меняться.
Часть glnxa64/ для 64 битной ОС и glnxa32 для 32 битной ОС.

Да и вообще. Все эти пути будут написаны на финайльной стадии установки MCR, но копировать их я не советую и предлагаю перепроверить и переписать все вручную (не знаю в чем тут дело, но у меня на двух разных машинах тупое копирование этих путей не дало результатов).


Возможно Вы повторяете мои ошибки и копируете те пути, которые выдал установщик. Попробуйте все снести и прописать все пути вручную.
Нет, я реальные пути прописывал. Буду разбираться.
А вы это делаете на линуксе или на виндовсе? И в чем конкретно проявляется неработоспособность?
Ubuntu 15.04
Сейчас так при запуске mex, но я мог уже что-то поменять, попробую и отпишусь позже.

Sorry! We could not determine the machine architecture
for your host, because one of the utilities

$MATLAB/bin/util/arch.sh

or

$MATLAB/bin/util/oscheck.sh

could not be found. Please make sure that your
installation is not corrupted. If you specified
the value of $MATLAB in the command line, please
make sure you specified the right value.

Here

MATLAB = /usr/local/MATLAB/MATLAB_Runtime/v85/

Please contact:

MathWorks Technical Support

if you need assistance.

Переменная среды MATLAB установлена.
А какое значение переменной окружения matlab? И что лежит по этому пути? Может там реально этих файлов нету?
В Маtlab лежит существующий путь, такой же, как он выводит, в папке util есть только arch.sh и еще, кстати я файл matlab не найду и самой папки X11
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории