?? 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 + -