0

我确信在 Maple vs Matlab 上有一千个不同的帖子,但我有一些独特的要求,在我开始学习其中一个之前,我想知道哪一个做得最好。

我有一组来自加速度计的记录冲击的数据。我需要执行以下操作:

  1. 将曲线拟合到数据
  2. 找到该曲线的方程
  3. 求解链接http://upload.wikimedia.org/wikipedia/en/math/2/d/3/2d39556df1dbbd467dc914253e93cdb0.png中列出的方程,该方程 求解一系列曲线,即区间下的 MAX。

我想尽可能与视觉工作室无缝地做到这一点。GUI 和应用程序的所有其他元素都是用 VB 构建的,我想保留它。我知道 maple 有一个代码生成部分可以转换为 VB,它能够处理这样的事情吗?Matlab 是否与 Visual Studio 很好地集成?如果我可以在 VB 表单上放置一个对象来促进与 matlab 或 maple 框架之间的通信,我会很激动。目前我让它与 R 一起工作,但是要这样做,我需要将数据写入文件,启动 R 脚本,等待它完成,将控制权返回给我的 VB 应用程序并从那里获取。这个过程花费的时间太长,而且由于我没有多线程编程的经验,所以当控制权传递给脚本时,GUI 会冻结。

任何帮助或建议将不胜感激!

4

2 回答 2

1

在你的情况下,我不会选择两者中的任何一个。你可以看看Python Tools for Visual Studio。博客文章提到了对 .Net 的 NumPy 和 SciPy 的支持,它为您提供了与.Net世界完美集成的所有数学能力。

编辑:通过查看matplotlib画廊,我很想说 matplotlib 与 MATLAB 相当。

于 2011-11-29T03:30:07.607 回答
0

MATLAB 不会自动生成 VB 代码,但可以轻松地从 VB 应用程序调用它,而无需间接写入文件。它具有可以直接从 VB 代码中调用的 COM 接口。请参阅 MATLAB 文档中的此示例以了解更多信息。

要执行您提到的技术分析,除了基本 MATLAB 之外,您还可以使用Curve Fitting Toolbox来节省时间。

请注意,上述通过其 COM 接口连接到 MATLAB 的方法依赖于在执行 VB 应用程序时存在 MATLAB 的实时副本。如果您需要与没有 MATLAB 副本的人共享您的应用程序,您还可以从 MATLAB 代码创建独立的 COM 组件和 .NET 程序集,它们可以由您的 VB 代码以相同的方式调用,但可以部署对没有 MATLAB 许可证的人免费 - 但是,这需要一个额外的产品,即MATLAB Builder for .NET

于 2011-11-29T09:59:42.290 回答