.NET в сочетании с MATLAB или R? - PullRequest
8 голосов
/ 12 мая 2010

Я пишу программу в .NET, которая должна будет использовать статистические функции и функции анализа данных R или MATLAB.Я использовал R, но сейчас думаю о переходе на MATLAB, поскольку у него есть компилятор .Net, а R может взаимодействовать только через COM-объекты.Кто-нибудь может порекомендовать идти в ту или иную сторону?Я знаю, что MATLAB бесконечно дороже, чем R (поскольку R бесплатен), но я думаю, что это может привести к более простому циклу разработки?

Ответы [ 4 ]

3 голосов
/ 12 мая 2010

Вы описали три подхода: используйте .NET Builder для Matlab, используйте Matlab в качестве COM-объекта и используйте R в качестве COM-объекта. Расходы разные для каждого.

Matlab .NET Builder позволяет создавать объекты .NET, которые затем можно вызывать непосредственно из .NET. Одним из преимуществ этого является то, что вы можете развернуть эти объекты на компьютерах, на которых не установлен Matlab, установив свободно распространяемый Mathworks MCR на цели. Это будет стоить вам одну лицензию Matlab плюс стоимость Matlab .NET Builder. В комментариях Sharpie цитирует общую стоимость ~ 12,8 тыс. Долл. Для этого подхода, а Ричи Коттон цитирует ~ 200 МБ для MCR.

Другой подход - вызывать Matlab как COM-объект из вашего .NET-кода. Есть некоторая документация для этого подхода здесь . Это дешевле для одной машины, так как вам не нужно покупать .NET Builder. Но если вы хотите выполнить развертывание на нескольких целях, вам придется купить Matlab (плюс соответствующие наборы инструментов) для каждой по цене ~ 2,8 тыс. Долл. США / машина.

Я никогда не использовал R, но похоже, что последний подход, при котором R вызывается как COM-объект, задокументирован здесь . И, конечно, вы можете просто развернуть R на всех ваших целевых машинах.

Я полагаю, что два последних подхода одинаково сложны просты, поэтому, если необходимые вам подпрограммы доступны на любом языке, бесплатная - это очень хорошая цена.

2 голосов
/ 13 мая 2010

Какой путь зависит от того, какую статистику вы хотите использовать.Как упомянул Шарпи, набор инструментов Matlab Stats далеко не так полон, как пакеты R + 2000.(Хотя в Matlab Central File Exchange имеется достаточное количество кода статистики.) Если вы обнаружите, что вам нужно кодировать низкоуровневые процедуры статистики в Matlab, то вы выбрали неправильный выбор.Интерфейс Matlab- .NET приятный и немного приятнее, чем R- .NET, так что вы, вероятно, сэкономите немного времени на разработку.Фактически, наше текущее рабочее место - R для автономного анализа статистики и Matlab для интеграции с приложениями .NET.

Что касается стоимости, если ваш работодатель с удовольствием заплатит за программное обеспечение,не беспокойся об этом.Если вы сами платите за это, переходите к R.:)

0 голосов
/ 27 сентября 2013

https://github.com/BlueMountainCapital/FSharpRProvider

Вот как можно без проблем использовать F # с R

0 голосов
/ 04 февраля 2013

Если вы хотите вызвать R из .NET, см. R.NET из CodePlex , для получения дополнительной информации о StackOverflow см. Вызов R (язык программирования) из .net .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...