八度跳过参数

时间:2018-06-09 22:11:10

标签: matlab function parameters octave

我有以下问题:

我想使用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。

我找不到在八度音程中省略此参数的方法。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

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, …)