Scilab:位于optim函数源文件的位置

时间:2015-04-13 08:49:51

标签: function optimization scilab

我在理解函数 loadwave(...)的确切工作方式时遇到了一些问题。所以我在这里找到了一个带有描述的文件:/usr/share/scilab/modules/sound/macros/loadwave.sci使用 find -name ... 命令。

现在我不明白 optim(...)功能是如何工作的,所以我也想找到它的源文件,但我不能(我试图使用组合) 再次找到 grep )。在/ usr / share / scilab / modules / optimization / demos / optim目录中有一些演示文件包含优化使用示例,但我仍然找不到 optim(...)本身的任何源代码根据我的理解应该看起来如下:

function [...] = optim(...)

...

结束功能;

你可以给我一个提示吗?

更新 现在我只能在文件中找到它 /usr/share/scilab/modules/optimization/sci_gateway/optimization_gateway.xml:

<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">
<GATEWAY name="optimization">
<!-- =================== -->
<!--
 Scilab
 Interface description. In this file, we define the list of the function which
 will be available into Scilab and the link to the "native" function.

 gatewayId is the position in the hashtable 'Interfaces' defined in the
 file SCI/modules/core/src/c/callinterf.h

 primitiveId is the position in the hashtable '<module>Table Tab[]' defined
 in the file modules/<module>/sci_gateway/c/gw_<module>.c

 primitiveName is the name of the Scilab function
 ===================
 Don't touch if you do not know what you are doing
-->
<!-- =================== -->

<PRIMITIVE gatewayId="11" primitiveId="1" primitiveName="optim" />
<PRIMITIVE gatewayId="11" primitiveId="2" primitiveName="semidef" />
<PRIMITIVE gatewayId="11" primitiveId="3" primitiveName="fsolve" />
<PRIMITIVE gatewayId="11" primitiveId="4" primitiveName="lsqrsolve" />
<PRIMITIVE gatewayId="11" primitiveId="5" primitiveName="qld" />
<PRIMITIVE gatewayId="11" primitiveId="6" primitiveName="qp_solve" />
<PRIMITIVE gatewayId="11" primitiveId="7" primitiveName="readmps" />
</GATEWAY>

所以在scilab的git repo中,通过 user1149326 向我提供了链接,我找到了文件scilab / modules / optimization / sci_gateway / c / sci_optim.c({ {3}})

1 个答案:

答案 0 :(得分:2)

您可以在their git repository查看所有Scilab来源。更具体地说,所有optim来源都在the optimization module中。请参阅srcmacro文件夹。您可以在their wiki上了解模块的组织方式。

我认为来源过于复杂,无法让您了解optim的工作原理。我建议使用a document by Scilab about the kinds of optimization,而不是查看来源,这也可能会提供您正在寻找的信息。