簡體   English   中英

如何在MATLAB中將pcg與函數一起使用

[英]How to use pcg with a function in MATLAB

我將使用MATLAB中的共軛梯度法解決一個反問題AX=b 我想在MATLAB中使用pcg函數,據我所知,我可以使用函數代替矩陣A

我有一個功能,例如afun有一些條目。 在文檔中,我已經看到afun函數是在pcg函數中輸入的,沒有任何條目,但是,當我執行相同的操作時,出現的錯誤not enough input arguments 我使用這樣的代碼:

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

我應該如何在pcg使用我的函數?

根據文檔,函數句柄應具有簽名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);

有一個文檔頁面介紹了如何使用函數句柄 參數化函數以傳遞額外的args。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM