.NET вместе с MATLAB или R?

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

8
задан Christian Hudon 24 July 2012 в 15:59
поделиться

2 ответа

Вы описали три подхода: использовать .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 на всех своих целевых машинах.

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

3
ответ дан 5 December 2019 в 23:14
поделиться

Выбор пути зависит от подпрограмм статистики, которые вы хотите использовать. Как упоминал Шарпи, набор инструментов Matlab Stats далеко не так полон, как пакеты R + 2000. (Хотя в центральном файловом обмене Matlab имеется изрядное количество кода статистики.) Если вам нужно кодировать подпрограммы статистики низкого уровня в Matlab, то вы выбрали неправильный выбор.

Интерфейс Matlab-.NET приятный и немного приятнее, чем R-.NET, так что с его помощью вы, вероятно, сэкономите немного времени на разработку. Фактически, наше текущее рабочее место настроено: R для автономного анализа статистики и Matlab для интеграции с приложениями .NET.

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

2
ответ дан 5 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: