• 励志大全
  • 名言大全
  • 成功学
  • 励志文章
  • 励志故事
  • 励志名言
  • 励志电影
  • 励志歌曲
  • 高考励志
  • 大学生励志
  • 青春励志
  • 职场励志
  • 高三励志
  • 当前位置: 工作范文网 > 励志 > 励志名言 > 正文

    数学实验“线性方程组最速下降法与共轭梯度法解法”实验报告(内含matlab程序代码)(10页)

    时间:2020-09-21 12:45:35 来源:工作范文网 本文已影响 工作范文网手机站

    PAGE / NUMPAGES

    西京学院数学软件实验任务书

    课程名称

    数学软件实验

    班级

    数0901

    For personal use only in study and research; not for commercial use

    学号

    07

    姓名

    For personal use only in study and research; not for commercial use

    李亚强

    实验课题

    线性方程组的最速下降法与共轭梯度法

    For personal use only in study and research; not for commercial use

    实验目的

    熟悉线性方程组的最速下降法与共轭梯度法

    实验要求

    运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成

    实验内容

    线性方程组的最速下降法

    线性方程组的共轭梯度法

    成绩

    教师

    实验五实验报告

    实验名称:最速下降法与共轭梯度法解线性方程组。

    实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab编程能力。

    实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。

    实验原理:

    最速下降法:

    从某个初始点 出发,沿在点处的负梯度方向

    求得的极小值点, 即

    然后从出发,重复上面的过程得到。如此下去,得到序列{}

    可以证明,从任一初始点 出发, 用最速下降法所得到的序列{}均收敛于问题使最小化的解,也就是方程组的解。其收敛速度取决于,其中 ,分别为A的最小,最大特征值。最速下降法迭代格式:给定初值,按如下方法决定:

    共轭梯度法

    其基本步骤是在点 处选取搜索方向, 使其与前一次的搜索方向 关于共轭,即

    然后从点 出发,沿方向求得的极小值点 , 即

    如此下去, 得到序列{}。不难求得的解为

    注意到的选取不唯一,我们可取

    由共轭的定义可得:

    共轭梯度法的计算过程如下:

    第一步:取初始向量, 计算

    第步:计算

    实验内容:

    %最速下降法

    function [x,k]=fastest(A,b,eps);

    x0=zeros(size(b),1);

    x=x0;

    k=0;

    m=1000;

    tol=1;

    while tol>=eps

    r=b-A*x0;

    q=dot(r,r)/dot(A*r,r);

    x=x0+q*r;

    k=k+1;

    tol=norm(x-x0);

    x0=x;

    if k>=m

    disp('迭代次数太多,可能不收敛!');

    return;

    end

    end

    x

    k

    %共轭梯度法

    function [k,x]=gong_e(A,b)

    esp=input('请输入允许误差esp=');

    x0=input('请输入初始值x0=');

    k = 0 ;

    r0 = b-A*x0; %求出dangqian梯度

    while norm(r0)>esp

    r0 = b -A*x0;

    k = k + 1 ;

    if k==1

    p0 = r0 ;

    else

    lamda=(r0'*r0)/(p0'*A*p0);

    r1 = r0 - lamda*A*p0 ;

    p0=r0+(r0'*r0)/(r1'*r1)*p0;

    x1 = x0 + lamda*p0;

    x0=x1;

    r0=r1;

    end

    end

    x=r0;

    k;

    end

    实验结果:

    A=[5 2 0;6 4 1;1 2 5];

    b=[10 18 -14]';

    eps=1.0e-6;

    x =

    -0.8750

    7.1875

    -5.5000

    k =

    60

    仅供个人用于学习、研究;不得用于商业用途。

    For personal use only in study and research; not for commercial use.

    Nur für den pers?nlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.

    Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.

    ?только для людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.?

    以下无正文

    有关的专题