📄 zuisutidufa.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 + -