1-8.m

来自「%求解系数矩阵对称正定的线性方程组的最速下降法」· M 代码 · 共 44 行

M
44
字号
function[F,X]=fastd(A,B,x0,n,delta,fxy)
%求解系数矩阵对称正定的线性方程组的最速下降法
%input A:线性方程组的对称正定的系数矩阵
%input B:线性方程组右端向量
%input x0:初始迭代向量
%input n:迭代次数
%input delta:计算精度
%output X:线性方程组的解向量
%output F;计算过程列表
A=input('线性方程组的对称正定的系数矩阵:');
B=input('线性方程组右端向量:');
x0=input('初始迭代向量:');
n=input('迭代次数:');
delta=input('计算精度:');
p0=B-A*x0;
t0=(p0'*p0)/(p0'*A*p0);
x1=x0+t0*p0;
fx1=feval('fxy',x1(1),x1(2));
k=1;
xm=x1;
F=zeros(11,5);
F(1,1:2)=x0';
F(1,3:4)=-p0';
F(1,5)=t0;
while k<=n|err>delta
    xk=xm;
    F(k+1,1:2)=xk';
    p=B-A*xk;
    t=(p'*p)/(p'*A*p);
    F(k+1,3:4)=-p';
    F(k+1,5)=t;
    m=k+1;
    xm=xk+t*p;
    fxm=feval('fxy',xm(1),xm(2));
    err=abs(fxm-fx1);
    fx1=fxm;
    k=k+1;
end
X=xm;
k=0:10;
F=[k' F];
X

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?