Спасибо большое за статью :) По лицензированию не подскажите как дела обстоят? Каждому заказчику нужно будет покупать лицензию на матлаб или достаточно фирме-разработчику софта?
2kets
С лицензированием дела обстоят так: для работы разработанного приложения необходима среда выполнения MCR (MATLAB Component Runtime), которая распространяется свободно и не требует никакой регистрации, ключей и т.д. Соответственно фирме-заказчику необходимо с программой поставить MCR и по необходимости FrameWork 3.5
2Zenker
Список поддерживаемых языков .NET, C, C++, Java, add-in Excel. Соответственно при сборке проекта в MATALB необходимо в deploytool выбрать Java Package, а дальше разбираться с синтаксисом, но главное структура MWArray так и останется.
Возьмем обратную ситуацию, когда мне не нужно никакое графическое исполнение, а очень сложный обсчет на распознавание образов, плюс после обсчета программа должна выдавать сигнал по COM-порту на объект управления. Это на мой взгляд очень сложно реализовать на одном лишь MATLAB'е или на одном лишь С (openCV в данном контексте не рассматривается), а с помощью этих двух пакетов вполне реально и 197 Мб меня не пугают.
Оффтопик: По роду деятельности занимаюсь мехатронными системами и на данный момент стоит задача по распознаванию огня как объекта, пока не знаю как подступиться к данной проблеме. Есть мысль, что нужно играть на контрасте или векторизации, буду благодарен за любую помощь.
Как обстоят дела с запуском приложения на котором нету MATLAB (к примеру на «чистой» винде)? В свое время это был настоящий геморой и даже MCRInstaller не спасал.
А такой вопрос: рациональное ли (в плане скорости) использовать библиотки матлаба в своем проектк (C++ или C#)?
Важна именно скорость. Слышал мнения, что матлаб крайне тормозной, и намного эффективнее будет использовать собственно написанные методы, чем юзать его dll.
По личному опыту могу сказать что матлаб крайне долго запускает свою среду. Если вам необходимо использовать простенькие функции, то лучше написать самому. Если же речь о чем то более серьезном, то эти накладные расходы будут не так заметны. А так в любом случае всегда быстрее будет использование своих методов, если алгоритм такой же по скорости.
А мы на работе собирали матлабовкий код в сишный с помощью emlc, но его задепрекейтили в matlab 2011 (( Теперь мы имеем codegen, который пока еще очень сырой.
Интегрируем MATLAB в С#.NET