【问题标题】:Octave skip parameter八度跳过参数
【发布时间】:2018-11-19 14:17:43
【问题描述】:

我有以下问题:

我想使用 Octave "pcg" 中定义为的以下函数:

x = pcg (A, b, tol, maxit, m1, m2, x0, ...)

文档说:

"m = m1 * m2 是(左)预处理矩阵,因此迭代(理论上)等价于通过 pcg P * x = m \ b 求解,其中 P = m \ A。注意,正确的选择预条件子可以显着提高方法的整体性能。用户可以传递两个函数,而不是矩阵 m1 和 m2,它们返回将 m1 和 m2 的逆应用到向量的结果(通常这是使用的首选方式预条件)。如果 m1 被省略或为空 [] 则不应用预条件。如果 m2 被省略,m = m1 将用作预条件。"

现在我得到了所有参数,但我没有 m2,我想把这个排除在外。就像文档说“省略”它所以 m = m1。

我找不到在 octave 中省略此参数的方法。

有人可以帮帮我吗?

【问题讨论】:

  • 省略表示省略。不要给出参数。写pcg(A,b,tol,maxit,m1)。
  • 是的,我知道,但我想在省略 m2 后设置 x0。那是我的问题

标签: matlab function parameters octave


【解决方案1】:

the documentation for pcg 中的示例 6 是:

[x, flag, relres, iter, resvec, eigest] = ...
     pcg (A, b, [], [], "apply_m", [], [], 3)

这里,”apply_m” 是输入参数m1,对于m2,他们填写了[] 以便能够提供以后的参数。

因此,给参数x0 但省略m1 你应该可以说:

x = pcg (A, b, tol, maxit, m1, [], x0, …)

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 2019-05-24
    • 2013-07-10
    • 1970-01-01
    相关资源
    最近更新 更多