【发布时间】:2015-02-12 23:19:07
【问题描述】:
是否可以在运行时使用 Octave C++ API 从外部文件加载 PETSc 二进制格式的矩阵?我找到了Doxygen documentation,但是在这么多项目中我找不到任何有用的东西。
当我想将 PETSc 矩阵加载到 Octave 时,通常我使用“PetscBinaryRead.m”,但现在在 C++ 中我真的完全迷路了。
【问题讨论】:
标签: c++ matlab matrix octave petsc
是否可以在运行时使用 Octave C++ API 从外部文件加载 PETSc 二进制格式的矩阵?我找到了Doxygen documentation,但是在这么多项目中我找不到任何有用的东西。
当我想将 PETSc 矩阵加载到 Octave 时,通常我使用“PetscBinaryRead.m”,但现在在 C++ 中我真的完全迷路了。
【问题讨论】:
标签: c++ matlab matrix octave petsc
PetscBinaryRead.m 不是 Octave 的一部分,我们不知道你从哪里得到它,甚至不知道它的作用。你可以:
PetscBinaryRead(参见 Octave 手册了解如何创建 standalone programs 或 calling Octave Functions from Oct-files
【讨论】:
PetscBinaryRead.m 是包含在 PETSc 包中的常用 Octave/MatLab 脚本,可以加载 PETSc 二进制矩阵。它将矩阵文件的名称作为参数。所以,第二个选项可能是我需要的。但我必须承认,我仍然看不到执行此脚本的方法。这是 .m 脚本:fossies.org/dox/petsc-3.5.3/PetscBinaryRead_8m_source.html
octave_main),然后调用你的函数feval,这将返回一个八度值列表。该列表的一个元素将是您的矩阵(可能是第一个)。您可以通过从 octave_value 类中选择适当的方法来获取 Matrix 类型。