0

MATLABの共役勾配法を使用して、逆問題AX=bを解くつもりです。私はpcg関数をMATLABで使いたいと思っています。行列の代わりにAの関数を使うことができます。MATLABの関数でpcgを使用する方法

私はいくつかのエントリを持つ例えばafunのような機能を持っています。ドキュメントでは、afun関数が入力なしでpcg関数に入力されていることがわかりましたが、同じときにエラーnot enough input argumentsが表示されます。

b = afun(ent1,ent2); 
x = pcg(@afun,b,tol,max_iter); 

pcgで私の機能をどのように使うべきですか?

答えて

0

文書によると、関数ハンドルは、afun(x)の署名を持ち、A*xを返す必要があります。

% I dont know what these ent1/ent2 represent exactly, 
% so you must complete the ".." part first 
fcn = @(x) afun(x, ..) 

% now you can call PCG 
x = pcg(fcn, b, tol, maxiter); 

を使用して、余分な引数を渡す方法にparameterize functions説明するドキュメントのページがあります:

は あなたの機能は明らかに2つの入力を取り

は...あなたが呼び出し、このような何かをラップするために無名関数を使用する必要がありますfunction handles

関連する問題