% 这个例子演示了 conjgrad.m 的使用% conjgrad.m 的主要优点是它需要处理函数% 执行线性算子及其伴随的评估。 % 参数空间可以是多维的。
%% 示例 #1 - 矩阵求逆
% 生成条件良好的随机矩阵N = 128; [U,S,V]=svd(randn(N)); s=诊断(S); A=U*diag(s+max(s))*V; b=randn(N,1);
% 定义运算符及其伴随运算符 = @(x) A*x; 伴随 = @(x) A'*x; x0 = 零(大小(b));
res_limit = 1e-4; 最大步数 = 100; [x, Res] = conjgrad(x0, b, operator, adjoint, res_limit, max_steps); 情节(log10(Res));
%% 示例 #2 - 反卷积N = 128;
% 卷积核是两个点。