【问题标题】:linprog not provided in Octave although optim package installed尽管安装了 optim 软件包,但 Octave 中未提供 linprog
【发布时间】:2014-04-27 11:04:32
【问题描述】:

我尝试使用 Octave 的 optim package 作为 Matlab 的替代品(尽可能)。我安装了两个发行版Octave MinGWOctave MSVC

pkg install parallel-2.2.0.tar.gz 在使用 MSVC 版本sh.exe: ./configure: /bin/sh: bad interpreter: No such file or directory 的情况下给我以下错误。 所以我尝试了 MinGW 版本。在安装了all packagesgeneralstructmiscellaneousparalleloptim)并输入help linprog 之后,我得到了:

error: help: Octave does not currently provide linprog.  Linear programming problems
may be solved using `glpk'.  Try `help glpk' for more info.

Please read `http://www.octave.org/missing.html' to learn how you can
contribute missing functionality.

需要做什么才能使用here 记录的此功能?

更新1

我按照 carandraug 的建议尝试了version 3.8.1,但parallel 的安装将与sclose.cc:37:24: fatal error: sys/socket.h: No such file or directory 一起中止。修复此问题后,我可能会添加另一个更新。顺便说一句,我希望 Octave 开发人员将来会选择 Eclipse IDE 作为默认的 Developer-GUI,这样很多人都可以在不从头开始的情况下做出贡献。

更新2

上述链接的软件包比 Octave 8.3.1 附带的软件包更新,所以我只是切换到 src 文件夹并运行 build_packages

【问题讨论】:

    标签: octave linear-programming


    【解决方案1】:

    我刚刚在一个单独的问题上发布了这个答案:

    问题是你没有加载 optim 包。当您键入pkg list 时,您可以找到哪些在其名称前带有星号。使用pkg load optim 加载一个包。

    必须加载包是许多来自 Matlab 的用户觉得奇怪的事情,但如果您与其他语言(例如 Python、Perl 或 C++)进行比较,您会期望它们是 importuse 还是#include默认情况下系统中可用的每个库?详情请见Octave's FAQ

    如果您希望默认情况下自动加载包,建议的操作是将行 pkg load optim 添加到您的 ~/.octaverc 文件中。

    最后,你刚刚开始使用 Octave,你应该已经安装了 Octave 3.8.1。

    【讨论】:

    • 非常感谢您为我指明这个方向!我认为该错误与安装问题有关,因此我浏览了此article,并简单地忽略了每个 Octave-forge 软件包的手动安装说明部分中的 pkg 加载部分。我认为错误信息具有误导性。像 optim found 但尚未加载 这样的东西会更合适。无论如何感谢您的详细回答,而不仅仅是说明 rtfm man!
    • @dkeck 错误消息并没有真正误导。那个时候这个函数确实是未定义的。在您实际加载包之前,Octave 不知道包中有哪些函数。在 Octave 3.8.1 中,您会收到类似的错误消息,但仅限于某些包和函数,它们更正式并且已经过硬编码(尽管 Octave 包还没有成为 Octave 项目的一部分)。
    猜你喜欢
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 2020-04-27
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    相关资源
    最近更新 更多