.NET加上MATLAB或R?

Pet*_*ter 8 .net matlab interop r

我正在用.NET编写一个程序,需要利用R或MATLAB的统计和数据分析功能.我已经使用过R,但我现在正考虑转向MATLAB,因为它有一个.Net编译器,而R只能通过COM对象进行接口.任何人都可以推荐去哪儿?我知道MATLAB比R更昂贵(因为R是免费的),但我认为这可能转化为更容易的开发周期?

mtr*_*trw 3

您描述了三种方法:使用 .NET Builder for Matlab、使用 Matlab 作为 COM 对象以及使用 R 作为 COM 对象。每个人的费用都不同。

Matlab .NET Builder 允许您创建 .NET 对象,然后您可以直接从 .NET 调用该对象。这样做的优点之一是,您可以通过在目标上安装可免费重新分发的 Mathworks MCR,将这些对象部署到未安装 Matlab 的计算机上。这将花费您一份 Matlab 许可证加上 Matlab .NET Builder 的费用。在评论中,Sharpie 引用了这种方法的总成本约为 12.8K 美元,Richie Cotton 引用了 MCR 的总成本约为 200 MB。

另一种方法是从 .NET 代码中将 Matlab 作为 COM 对象调用。这里有一些关于这种方法的文档。这对于一台机器来说更便宜,因为您不必购买 .NET 构建器。但如果您想部署到多个目标上,则必须为每个目标购买 Matlab(加上适用的工具箱),每台机器的成本约为 2800 美元。

我从未使用过 R,但看起来后一种方法(将 R 作为 COM 对象调用)记录在此处。当然,您可以简单地将 R 部署到所有目标计算机。

我猜最后两种方法是同样的难的很简单,因此如果您需要的例程以任何一种语言提供,那么免费是一个非常优惠的价格。

  • 相当不错的比较。上次我检查时,Matlab 选项将花费您约 2k 加上额外的 10k 编译器费用,然后每个统计工具箱花费 800 美元。您的应用程序需要与 Matlab 编译运行时 (MCR) 库的副本一起部署。使用 R 路线,您必须将 R 与应用程序一起部署,这可能比 MCR 更大并且更难重新打包。但它是免费的。另外,我个人的观点非常有偏见:R 用 Matlab 统计工具箱擦地了。 (2认同)