【正文】
grad(A,b,eps,M) % 利用迭代方法求解矩陣方程 這里是共軛梯度迭代方法 % A 為系數(shù)矩陣 b 為右端向量 err 為精度大小 返回求解所得向量 x及迭代次數(shù) % M 為最大迭代次數(shù) jingdu 求解過程的精度 n 所需迭代次數(shù) xx 存儲求解過程中每次迭代產生的解 x0=zeros(length(b),1)。 % x=x0+t0*r0。 x=x0。 r=r。 r1=rafa*A*p。 r=r1。 if k=M disp('迭代次數(shù)太多可能不收斂?。?)。 end end 。 end n=k。 k=k+1。 p1=r1+beta*p。 afa=r' *r/(p' *A*p)。 p=p0。 % xx(:,1)=x。 p0=r0。 end n=k。 k=k+1。 x=x。 r=bA*x。 end end 子函數(shù) 2(最速下降算法 ): function [x,n,xx,jingdu]=zuisuxiajiangfa(A,b,eps,M) % 利用迭代方法求解矩陣方程 這里是最速下降迭代方法 % A 為系數(shù)矩陣 b 為右端向量 err 為精度大小 返回求解所得向量 x及迭代次數(shù) % % M 為最大迭代次數(shù) jingdu 求解過程的精度 n 所需迭代次數(shù) xx 存儲求解過程中每次迭代產生的解 x0=zeros(length(b),1)。 if k=M disp('迭代次數(shù)太多可能不收斂!'