• 大小: 18.22MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-04
  • 语言: Matlab
  • 标签: matlab  方程组  

资源简介

内含最速下降法与共个梯度法的对比以及迭代收敛性分析文档 还有实验所用的源程序,其中最速下降法程序和共个梯度法程序都有源程序。

资源截图

代码片段和文件信息

% 读取数据,用最共轭梯度法求A11x=b11的解。
% 最后一步的误差的2范数存在e11中。每一步误差A范数存在eA11中。
load(‘alldata_2.mat‘);
n=200;   % 迭代次数
x11=zeros(1001);
r=b11-A11*x11;
p=r;
eA11=zeros(1011);
eA11(1)=sqrt(dot(x11-xxA11*(x11-xx)));
for i=1:n
    a=dot(rr)/dot(A11*pp);
    x11=x11+a*p;
    b_1=dot(rr);
    r=r-a*A11*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA11(i+1)=sqrt(dot(x11-xxA11*(x11-xx)));
end
e11=sqrt(dot(x11-xxx11-xx));
% 用最共轭梯度法求A21x=b21的解。
x21=zeros(1001);
r=b21-A21*x21;
p=r;
eA21=zeros(1011);
eA21(1)=sqrt(dot(x21-xxA21*(x21-xx)));
for i=1:n
    a=dot(rr)/dot(A21*pp);
    x21=x21+a*p;
    b_1=dot(rr);
    r=r-a*A21*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA21(i+1)=sqrt(dot(x21-xxA21*(x21-xx)));
end
e21=sqrt(dot(x21-xxx21-xx));
% 用最共轭梯度法求A31x=b31的解。
x31=zeros(1001);
r=b31-A31*x31;
p=r;
eA31=zeros(1011);
eA31(1)=sqrt(dot(x31-xxA31*(x31-xx)));
for i=1:n
    a=dot(rr)/dot(A31*pp);
    x31=x31+a*p;
    b_1=dot(rr);
    r=r-a*A31*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA31(i+1)=sqrt(dot(x31-xxA31*(x31-xx)));
end
e31=sqrt(dot(x31-xxx31-xx));
% 用最共轭梯度法求A41x=b41的解。
x41=zeros(1001);
r=b41-A41*x41;
p=r;
eA41=zeros(1011);
eA41(1)=sqrt(dot(x41-xxA41*(x41-xx)));
for i=1:n
    a=dot(rr)/dot(A41*pp);
    x41=x41+a*p;
    b_1=dot(rr);
    r=r-a*A41*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA41(i+1)=sqrt(dot(x41-xxA41*(x41-xx)));
end
e41=sqrt(dot(x41-xxx41-xx));
% 用最共轭梯度法求A51x=b51的解。
x51=zeros(1001);
r=b51-A51*x51;
p=r;
eA51=zeros(1011);
eA51(1)=sqrt(dot(x51-xxA51*(x51-xx)));
for i=1:n
    a=dot(rr)/dot(A51*pp);
    x51=x51+a*p;
    b_1=dot(rr);
    r=r-a*A51*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA51(i+1)=sqrt(dot(x51-xxA51*(x51-xx)));
end
e51=sqrt(dot(x51-xxx51-xx));

% 用最共轭梯度法求A12x=b12的解。
x12=zeros(1001);
r=b12-A12*x12;
p=r;
eA12=zeros(1011);
eA12(1)=sqrt(dot(x12-xxA12*(x12-xx)));
for i=1:n
    a=dot(rr)/dot(A12*pp);
    x12=x12+a*p;
    b_1=dot(rr);
    r=r-a*A12*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA12(i+1)=sqrt(dot(x12-xxA12*(x12-xx)));
end
e12=sqrt(dot(x12-xxx12-xx));
% 用最共轭梯度法求A13x=b13的解。
x13=zeros(1001);
r=b13-A13*x13;
p=r;
eA13=zeros(1011);
eA13(1)=sqrt(dot(x13-xxA13*(x13-xx)));
for i=1:n
    a=dot(rr)/dot(A13*pp);
    x13=x13+a*p;
    b_1=dot(rr);
    r=r-a*A13*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA13(i+1)=sqrt(dot(x13-xxA13*(x13-xx)));
end
e13=sqrt(dot(x13-xxx13-xx));
% 用最共轭梯度法求A14x=b14的解。
x14=zeros(1001);
r=b14-A14*x14;
p=r;
eA14=zeros(1011);
eA14(1)=sqrt(dot(x14-xxA14*(x14-xx)));
for i=1:n
    a=dot(rr)/dot(A14*pp);
    x14=x14+a*p;
    b_1=dot(rr);
    r=r-a*A14*p;
    b=dot(rr)/b_1;
    p=r+b*p;
    eA14(i+1)=sqrt(dot(x14-xxA14*(x14-xx)));
end
e14=sqrt(dot(x14-xxx14-xx));
% 用最共轭梯度法求A15x=b15的解。
x15=zeros(1001);
r=b15-A15*x15;
p=r;
eA15=zeros(1011);
eA15(1)=sqrt(dot(x15-xxA15*(x15-xx)));
for i=1:n
    a=dot(rr)/dot(A15*pp);
    x15=x15+a*p;
    b_1=dot(rr);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-12-10 15:59  最速下降法&共轭梯度法\
     文件     5687432  2012-11-12 10:43  最速下降法&共轭梯度法\alldata.mat
     文件     5684028  2012-11-12 10:43  最速下降法&共轭梯度法\alldata_2.mat
     文件        5417  2012-11-12 10:43  最速下降法&共轭梯度法\conjugate.m
     文件        2138  2012-11-12 10:43  最速下降法&共轭梯度法\data_create.m
     文件        2206  2012-11-12 10:43  最速下降法&共轭梯度法\data_create_2.m
     文件        8726  2012-11-12 10:43  最速下降法&共轭梯度法\discuss_1.m
     文件        3304  2012-11-12 10:43  最速下降法&共轭梯度法\discuss_4.m
     文件        2884  2012-11-12 10:58  最速下降法&共轭梯度法\discuss_5.m
     文件        5276  2012-11-12 10:43  最速下降法&共轭梯度法\grades.m
     文件     5845175  2012-11-12 10:43  最速下降法&共轭梯度法\matrix.mat
     文件         679  2012-11-12 10:43  最速下降法&共轭梯度法\matrix_create.m
     文件     1961056  2012-11-12 10:55  最速下降法&共轭梯度法\数值分析实践1.docx

评论

共有 条评论