Вы описали три подхода: используйте .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 на всех ваших целевых машинах.
Я полагаю, что два последних подхода одинаково сложны просты, поэтому, если необходимые вам подпрограммы доступны на любом языке, бесплатная - это очень хорошая цена.