Я предполагаю, что вы пытаетесь вызвать функцию PCG с первым входом, являющимся дескриптором функции (то, что вы называете матрицей )оператор ) функции afun
, которая принимает входные данные вектора X
и возвращает матрично-векторное произведение A*X
.Если вы хотите предоставить afun
другие переменные, помимо просто X
, вы можете параметризировать функцию , используя либо вложенные функции , либо анонимные функции .Вот пример анонимной функции:
A = [...]; %# Some matrix you want to use in your function
B = [...]; %# The other matrix to pass to PCG
afun = @(x) A*x; %# Construct an anonymous function using the current value of A
X = pcg(afun,B); %# Pass the anonymous function as the first argument