1

我必须在 AMPL 中使用一个本身没有的错误函数,所以我按照一篇博客文章使用 .dll 来完成它。

但是当我输入“display myerf(1.96)”时,窗口会给出错误“不能调用不可用的函数 myerf”。

我不知道如何处理这个问题,因为我已经将 .dll 文件放在了 AMPL 文件夹中。有谁知道如何获得这项工作?

4

1 回答 1

1

错误消息can't invoke unavailable function myerf意味着加载的函数库都没有提供该myerf函数。这很可能是因为您的库名称不同,因此没有自动加载,或者它不在动态库搜索路径上。通常 AMPL 会自动加载 amplfunc.dll,但您可以使用以下命令从任何位置手动加载任何名称的库:

load path/to/amplfunc.dll;

wherepath/to/amplfunc.dll是函数库的路径。您可以使用以下命令获取当前加载的库集:

display _LIBS;

有关 AMPL 库的更多详细信息,请参阅http://www.ampl.com/NEW/libload.html

更新:

请注意,AMPLGSL是一个提供对 GNU 科学库 (GSL) 函数的访问的 AMPL 函数库,它已经具有错误函数。有关更多详细信息,请参阅AMPLGSL 文档

于 2012-05-28T17:00:08.943 回答