После просмотра в Интернете, похоже, можно взаимодействовать между С# и Matlab. Мне интересно, есть ли у кого-то успех и что они сделали для этого. Если возможно, как-то вытащить его без использования COM. Спасибо за ваше время.
Взаимодействие между Matlab и С#
Ответ 1
Да, вполне возможно. Хотя я закончил использование интерфейса C и позвонил в него, используя DLL смешанного режима (и получив С# для вызова этого... но это было потому, что я также взаимодействовал с другим кодом C). Это довольно просто. На компьютерах, где вы хотите запустить свою программу, вам необходимо установить Matlab Runtime MCRInstaller.exe.
изменить: удалить неработающую ссылку
Ответ 2
Начиная с выпуска MATLAB R2009a, к объектам .NET можно обращаться из MATLAB:
http://www.mathworks.com/help/techdoc/matlab_external/brpb5k6.html
В более старых версиях MATLAB можно получить доступ к объектам .NET из MATLAB с помощью CCW:
http://www.mathworks.com/support/solutions/data/1-5U8HND.html?solution=1-5U8HND
и движок MATLAB от .NET:
Вы также можете использовать MATLAB Builder NE для переноса m-кода в сборки .NET.
Ответ 3
Да, мне это удалось, и это было в основном безболезненно.
Вам нужно будет скомпилировать ваш код MATLAB для .NET(как объяснено в предыдущих ответах), запустить MCR-инсталлятор, ссылку MWArray.dll и DLL с соблюдением кода в вашем проекте .NET и выйти.
Единственное раздражение - это литье (а иногда и несколько отливок!), которое на вас оказывает интерфейс (с использованием явного в операторах трансляции)
Ответ 4
Существует бесплатная и открытая .NET-оболочка .NET для Matlab, и это очень просто: http://www.codeproject.com/KB/dotnet/matlabeng.aspx
Я использую это.
Ответ 5
Если вы готовы тратить деньги, это может быть то, что вам нужно:
http://www.mathworks.com/products/netbuilder/
Он может создавать обертки для кода Matlab, которые позволяют ему вызываться как из .NET, так и из COM.
Ответ 6
В предварительном выпуске R2009a вы можете вызывать сборки .net из MATLAB.
Ответ 7
Я не уверен, насколько это относится к вам, но попробуйте заглянуть в исполняемые файлы matlab или MEX В принципе, очень легко написать программы в C или FORTRAN, включают в себя несколько библиотек и функций, а затем вы можете использовать функцию C или FORTRAN в matlab