📄 1-8.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -