【问题标题】:Ada: interfacing with MatlabAda:与 Matlab 接口
【发布时间】:2011-03-20 03:48:19
【问题描述】:

由于 Ada 没有任何好的科学计算库,我想知道是否有人能够在 Ada 中使用 Matlab 数学函数,例如 eig(用于计算特征值和特征向量)。

我看到 simulink 和 Ada 存在一些接口。但我不是 Simulink 的用户。我希望能够通过 Ada 函数和程序来使用 Matlab 数学函数。

PS:在早期的 Ada 文档中,有很多讨论和承诺会创建类似于 NAG 或 NUMAL 的良好数值库。我确实想知道为什么这从未成功具体化,并且任何好的和强大的科学计算库都可用。在我看来,Ada 语言肯定不会比其他任何科学计算语言都逊色。

非常感谢...

【问题讨论】:

    标签: matlab ada scientific-computing


    【解决方案1】:

    我找不到任何关于它的东西,这确实有点令人惊讶。

    如果它具有 C 接口,则可以编写自己的绑定到所需的例程。只需使用interfacing pragmasAda.Interfaces.C 包中定义的类型也会有所帮助。不过,在自定义绑定上进行链接和测试可能有点挑战。

    此外,最近版本的 Gnat 似乎带有 binding generator,它可以从 C 头文件中为您创建 Ada 绑定。还有 6 个这样的工具 available here,其中一个可以在 Windows COM DLLs 上运行,我听说过很好的消息。

    【讨论】:

    • 谢谢。我已经开始使用 Visual Numerics (www.vni.com) 的 C 数值库。我需要用 Ada 来测试一下。 1 票赞成所有信息。
    【解决方案2】:

    使用 Ada 的lapack 非常简单。您无需为此致电MatlabLapcakMatlab 使用的库相同。

    【讨论】:

    • 谢谢。是的,Ada 带有 lapack。尽管将它与 Ada 交互,但我发现它并不容易。网络上有没有关于如何进行接口的简单示例的信息?
    【解决方案3】:

    Ada.Numerics 下有几个包可以执行矩阵和向量运算

    【讨论】:

    • 更具体地说,Ada 2005 的 Ada.Numerics.Generic_Real_Arrays 用于特征值和特征向量。
    • 当然,但是使用 Ada.Numerics.Generic_Real_Arrays 的更简单的解决方案在当时并不可用或不够了解。
    【解决方案4】:

    作为 Ada.Numerics.Generic_Real_Arrays 的补充,Generic_Real_Linear_Equations 尤其具有 Cholesky 和 ​​LU 分解,可在开源库 Mathpaqs here 中获得或here

    【讨论】:

      猜你喜欢
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      相关资源
      最近更新 更多