数值计算方法实验报告


    学 生 实 验 报 告

    实验课程名称 数值计算方法I
    开课实验室 数学实验室
    学 院 理学院 年级11专业班 信息计算科学
    学 生 姓 名 学 号
    开 课 时 间 2013 2014 学年第 1 学期

    评分细
    评分
    报告表述清晰程度完整性(20分)

    程序设计正确性(40分)

    实验结果分析(30分)

    实验方法创新性(10分)

    总成绩


    教师签名






    实验五 解线性方程组直接方法

    实验51 (元选取算法稳定性)
    问题提出:Gauss消法线性代数中已熟悉计算机数值运算限浮点数集合进行确保Gauss消法作数值算法稳定性呢?Gauss消法理算法数值算法关键元选择元选择数学理起数值分析中十分典型问题
    实验容:考虑线性方程组

    编制动选取元手动选取元求解线性方程组Gauss消程
    实验求:
    (1)取矩阵方程解取n10计算矩阵条件数程序动选取元结果?
    (2)现选择程序中手动选取元功步消程总选取模模元素作元观察记录计算结果步消程总选取模元素作元结果?分析实验结果
    (3)取矩阵阶数n20者更重复述实验程观察记录分析问题消程中选择元时计算结果差异说明元素选取消程中作
    (4)选取感兴趣问题者机生成矩阵计算条件数重复述实验观察记录分析实验结果


    实验52(线性代数方程组性态条件数估计)
    问题提出:理线性代数方程组摄动满足

    矩阵条件数确实矩阵病态性刻画实际应中直接计算显然现实计算通常求解方程困难
    实验容:MATLAB中提供函数condest估计矩阵条件数出1范数条件数首先构造非奇异矩阵A右端方程精确求解引进系数矩阵右端摄动充分
    实验求:
    (1)假设方程Axb解x求解方程1范数出计算结果
    (2)选择系列维数递增矩阵(机生成)较函数condest需机器时间差考虑干逆已知矩阵助函数eig容易出cond2(A)数值函数cond(A2)结果进行较
    (3)利condest出矩阵A条件数估计针(1)中结果出理估计(1)出计算结果进行较分析结果注意果出cond(A)估计马出估计
    (4)估计著名Hilbert矩阵条件数






    思考题:(Vadermonde矩阵)设


    (1)n258计算A条件数n增矩阵性态变化?
    (2)n5解方程组Axb设A元素扰动104求解Axb
    (3)计算(2)扰动相误差解相偏差分析条件数关系
    (4)解释什插值函数存定理直接求插值函数拉格朗日牛顿插值法原?


    相关MATLAB函数提示:
    zeros(mn) 生成m行n列零矩阵
    ones(mn) 生成m行n列元素全1矩阵
    eye(n) 生成n阶单位矩阵
    rand(mn) 生成m行n列(01)均匀分布机矩阵
    diag(x) 返回量x元素构成角矩阵
    tril(A) 提取矩阵A三角部分生成三角矩阵
    triu(A) 提取矩阵A三角部分生成三角矩阵
    rank(A) 返回矩阵A秩
    det(A) 返回方阵A行列式
    inv(A) 返回逆方阵A逆矩阵
    [VD]eig(A) 返回方阵A特征值特征量
    norm(Ap) 矩阵量p范数
    cond(Ap) 矩阵条件数
    [LUP]lu(A) 选列元LU分解
    Rchol(X) 方根分解
    Hihilb(n) 生成n阶Hilbert矩阵
    实验程序:M文件程序:
    function xgauss(nr)
    ninput('请输入矩阵A阶数n')
    Adiag(6*ones(1n))+diag(ones(1n1)1)+diag(8*ones(1n1)1)
    bA*ones(n1)
    pinput('条件数应范数p范数:p')
    ppcond(Ap)
    pause
    [mn]size(A)
    nbn+1Ab[A b]
    rinput('请输入否手动手动输入1动输入0:r')
    for i1n1
    if r0
    [pivotp]max(abs(Ab(ini)))
    ipp+i1

    if ip~i
    Ab([i ip])Ab([ip i])disp(Ab) pause
    end
    end
    if r1
    ii
    ipinput('输入i列选元素处行数:ip')
    Ab([i ip])Ab([ip i])disp(Ab) pause
    end
    pivotAb(ii)
    for ki+1n
    Ab(kinb)Ab(kinb)(Ab(ki)pivot)*Ab(iinb)
    end
    disp(Ab) pause
    end
    xzeros(n1)x(n)Ab(nnb)Ab(nn)
    for in111
    x(i)(Ab(inb)Ab(ii+1n)*x(i+1n))Ab(ii)
    end

    (1)⑴取矩阵A阶数n10动选取元:
    >> format long
    >> gauss
    请输入矩阵A阶数n10
    n 10
    条件数应范数p范数:p1
    p 1
    pp 2557500000000000e+003
    请输入否手动手动输入1动输入0:r0
    r 0
    ⑵取矩阵A阶数n10手动选取元:
    ①选取绝值元素元:
    >> gauss
    请输入矩阵A阶数n10
    n 10
    条件数应范数p范数:p2
    p 2
    pp 1727556024913903e+003
    请输入否手动手动输入1动输入0:r1
    r 1
    ans 1 1 1 1 1 1 1 1 1 1
    ②选取绝值元素元:
    >> gauss
    请输入矩阵A阶数n10
    n 10
    条件数应范数p范数:p2
    p 2
    pp 1727556024913903e+003
    请输入否手动手动输入1动输入0:r1
    r 1
    ans
    100000000000000 100000000000000 100000000000000
    100000000000000 100000000000000 100000000000000
    099999999999999 100000000000001 099999999999998
    100000000000003
    (2)取矩阵A阶数n10手动选取元:
    ①选取绝值元素元:
    >> gauss
    请输入矩阵A阶数n10
    n 10
    条件数应范数p范数:p2
    p 2
    pp 1727556024913903e+003
    请输入否手动手动输入1动输入0:r1
    r 1
    ans 1 1 1 1 1 1 1 1 1 1
    ②选取绝值元素元:
    >> gauss
    请输入矩阵A阶数n10
    n 10
    条件数应范数p范数:p2
    p 2
    pp 1727556024913903e+003
    请输入否手动手动输入1动输入0:r1
    r 1
    ans
    100000000000000 100000000000000 100000000000000
    100000000000000 100000000000000 100000000000000
    099999999999999 100000000000001 099999999999998
    100000000000003

    (3)取矩阵A阶数n20手动选取元:
    ① 选取绝值元素元:
    >> gauss
    请输入矩阵A阶数n20
    条件数应范数p范数:p1
    p 1
    pp 2621437500000000e+006
    ans 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
    ② 选取绝值元素元:
    >> gauss
    请输入矩阵A阶数n20
    n 20
    条件数应范数p范数:p2
    p 2
    pp 1789670565881683e+006
    请输入否手动手动输入1动输入0:r1
    r 1
    ans
    100000000000000 100000000000000 100000000000000 100000000000000 100000000000000 100000000000000 100000000000001 099999999999997 100000000000006
    099999999999989 100000000000023 099999999999955
    100000000000090 099999999999821 100000000000352
    099999999999318 100000000001273 099999999997817
    100000000002910


    (4)该题目M程序示
    function xgauss(nr)
    ninput('请输入矩阵A阶数n')
    A hilb(n)
    bA*ones(n1)
    pinput('条件数应范数p范数:p')
    ppcond(Ap)
    pause
    [mn]size(A)
    nbn+1Ab[A b]
    rinput('请输入否手动手动输入1动输入0:r')
    for i1n1
    if r0
    [pivotp]max(abs(Ab(ini)))
    ipp+i1
    if ip~i
    Ab([i ip])Ab([ip i])disp(Ab) pause
    end
    end
    if r1
    ii
    ipinput('输入i列选元素处行数:ip')
    Ab([i ip])Ab([ip i])disp(Ab) pause
    end
    pivotAb(ii)
    for ki+1n
    Ab(kinb)Ab(kinb)(Ab(ki)pivot)*Ab(iinb)
    end
    disp(Ab) pause
    end
    xzeros(n1)x(n)Ab(nnb)Ab(nn)
    for in111
    x(i)(Ab(inb)Ab(ii+1n)*x(i+1n))Ab(ii)
    end



    >>gauss
    请输入矩阵A阶数:n7

    n

    7


    A

    6 1 0 0 0 0 0
    8 6 1 0 0 0 0
    0 8 6 1 0 0 0
    0 0 8 6 1 0 0
    0 0 0 8 6 1 0
    0 0 0 0 8 6 1
    0 0 0 0 0 8 6


    b

    7
    15
    15
    15
    15
    15
    14
    pp

    3174999999999999e+002


    Ab

    6 1 0 0 0 0 0 7
    8 6 1 0 0 0 0 15
    0 8 6 1 0 0 0 15
    0 0 8 6 1 0 0 15
    0 0 0 8 6 1 0 15
    0 0 0 0 8 6 1 15
    0 0 0 0 0 8 6 14

    请输入否手动手动输入1动输入0:r1

    r

    1
    条件数应范数p范数:p1

    p

    1
    i

    1
    ans
    099999999999869 100000000004337 099999999964299
    100000000121143 099999999803038 100000000152825
    099999999954491

    显然该问题元选取算出结果着关系取绝值元素作元取绝值元素作元时产生结果较准确选取绝值元时结果产生较误差条件数越产生误差越


    实验体会:
    运高斯消法求解线性方程组问题时候元选取相应消法选取决定该算法稳定性选取绝值元素选取绝值较元素作元时结果产生误差影响较增加条件数反结果误差产生更影响运算中量避免出现运数作数数量级加令数吃掉数情况发生

    实验52(线性代数方程组性态条件数估计)
    问题提出:理线性代数方程组摄动满足

    矩阵条件数确实矩阵病态性刻画实际应中直接计算显然现实计算通常求解方程困难
    实验容:MATLAB中提供函数condest估计矩阵条件数出1范数条件数首先构造非奇异矩阵A右端方程精确求解引进系数矩阵右端摄动充分
    实验求:
    (1)假设方程Axb解x求解方程1范数出计算结果
    (2)选择系列维数递增矩阵(机生成)较函数condest需机器时间差考虑干逆已知矩阵助函数eig容易出cond2(A)数值函数cond(A2)结果进行较
    (3)利condest出矩阵A条件数估计针(1)中结果出理估计(1)出计算结果进行较分析结果注意果出cond(A)估计马出估计
    (4)估计著名Hilbert矩阵条件数

    程序代码:

    保存M文件名:fanshum
    ninput('please input nn')
    afix(100*rand(n))+1
    xones(n1)
    ba*x
    datarand(n)*000001
    datbrand(n1)*000001
    Aa+data
    Bb+datb
    xxgeshow(AB)
    x0norm(xxx1)norm(x1)

    保存M文件名:geshowm
    function xgeshow(AB)
    [mn]size(A)
    nbn+1AB[A B]
    for i1n1
    pivotAB(ii)
    for ki+1n
    AB(kinb)AB(kinb)(AB(ki)pivot)*AB(iinb)
    end
    end
    xzeros(n1)
    x(n)AB(nnb)AB(nn)
    for in111
    x(i)(AB(inb)AB(ii+1n)*x(i+1n))AB(ii)
    end

    保存M文件名:cond2m
    function cond2(A)
    BA'*A
    [V1D1]eig(B)
    [V2D2]eig(B^(1))
    cond2Asqrt(max(max(D1)))*sqrt(max(max(D2)))
    end

    保存M文件:shiyan52m

    format long
    for n1010100
    nn
    Afix(100*randn(n))
    condestAcondest(A)
    cond2(A)
    condA2cond(A2)
    pause
    end

    保存M文件:sy5_2m
    ninput('please input nn') 输入矩阵阶数
    afix(100*rand(n))+1 机生成矩阵a
    xones(n1) 假设知道方程组解全1
    ba*x
    datarand(n)*000001
    datbrand(n1)*000001
    Aa+data
    Bb+datb
    xxgeshow(AB)
    x0norm(xxx1)norm(x1)
    x00cond(A)(1norm(inv(A))*norm(xxx))*(norm((xxx))(norm(A))+norm(datb)norm(B))
    datxabs(x0x00)

    (4)
    format long
    for n411
    nn
    Hihilb(n)
    cond1Hicond(Hi1)
    cond2Hicond(Hi2)
    condinfHicond(Hiinf)
    pause
    end

    实验结果分析:
    (1)
    >>fanshu
    please input nn6
    n
    6
    a

    82 28 96 80 68 71
    91 55 49 96 76 4
    13 96 81 66 75 28
    92 97 15 4 40 5
    64 16 43 85 66 10
    10 98 92 94 18 83


    x

    1
    1
    1
    1
    1
    1


    b

    425
    371
    359
    253
    284
    395


    data

    10e005 *

    Columns 1 through 4

    0694828622975817 0765516788149002 0709364830858073 0118997681558377
    0317099480060861 0795199901137063 0754686681982361 0498364051982143
    0950222048838355 0186872604554379 0276025076998578 0959743958516081
    0034446080502909 0489764395788231 0679702676853675 0340385726666133
    0438744359656398 0445586200710900 0655098003973841 0585267750979777
    0381558457093009 0646313010111265 0162611735194631 0223811939491137

    Columns 5 through 6

    0751267059305653 0547215529963803
    0255095115459269 0138624442828679
    0505957051665142 0149294005559058
    0699076722656686 0257508254123737
    0890903252535799 0840717255983663
    0959291425205445 0254282178971531


    datb

    10e005 *

    0814284826068817
    0243524968724989
    0929263623187228
    0349983765984809
    0196595250431208
    0251083857976031


    A

    Columns 1 through 4

    82000006948286227 28000007655167881 96000007093648307 80000001189976814
    91000003170994802 55000007951999009 49000007546866819 96000004983640522
    13000009502220488 96000001868726045 81000002760250766 66000009597439586
    92000000344460801 97000004897643961 15000006797026769 4000003403857266
    64000004387443596 16000004455862008 43000006550980039 85000005852677504
    10000003815584570 98000006463130106 92000001626117353 94000002238119393

    Columns 5 through 6

    68000007512670592 71000005472155294
    76000002550951152 4000001386244429
    75000005059570512 28000001492940054
    40000006990767226 5000002575082541
    66000008909032530 10000008407172560
    18000009592914253 83000002542821790


    B

    10e+002 *

    4250000081428483
    3710000024352497
    3590000092926362
    2530000034998376
    2840000019659525
    3950000025108386


    xx

    1000000428381561
    0999999831084732
    1000002591353244
    0999999600566705
    0999998226539937
    0999997826103164


    x0

    1255906711054392e006


    计算结果:1255906711054392e006








    (2)

    N
    condestA
    cond2A
    condA2
    10
    1152530883943102
    e+002
    3289054563075421
    3289054563075420
    20
    3470959631940668
    e+002
    6554122384178966
    6554122384178720
    30
    6050503865112835
    e+002
    1126539755706398
    e+002
    1126539755706322
    e+002
    40
    3549487892582470
    e+002
    6137537569683448
    6137537569683365
    50
    6855018184779408
    e+002
    8112138993753594
    8112138993753482
    60
    1082004656409367
    e+004
    1704830815154781
    e+003
    1704830815108527
    e+003
    70
    3234679145192132
    e+003
    3878481155980936
    e+002
    3878481155978439
    e+002
    80
    8318226153918658
    e+002
    8623814299852513
    8623814299853018
    90
    2063634143407935
    e+003
    2120696380331705
    e+002
    2120696380331079
    e+002
    100
    1536592818758897
    e+003
    1559132035738491
    e+002
    1559132035738373
    e+002



    (3)

    sy5_2
    please input nn8

    n

    8


    x0

    3064664488849900e007


    x00

    5064016823313296e007


    datx

    1999352334463396e007


    出估计5064016823313296e007

    理结果:3064664488849900e007


    结果相差:1999352334463396e007


    (4)

    n
    cond1Hi
    cond2Hi
    condinfHi
    4
    2837499999999738
    e+004
    1551373873892786
    e+004
    2837499999999739
    e+004
    5
    9436559999999364
    e+005
    4766072502414135
    e+005
    9436559999999336
    e+005
    6
    2907027900294878
    e+007
    1495105864009243
    e+007
    2907027900294064
    e+007
    7
    9851948897194700
    e+008
    4753673565864586
    e+008
    9851948897198483
    e+008
    8
    3387279082022742
    e+010
    1525757545841988
    e+010
    3387279081949470
    e+010
    9
    1099650993366047
    e+012
    4931544439891016
    e+011
    1099650991701052
    e+012
    10
    3535372424347474
    e+013
    1602528637652488
    e+013
    3535372455375642
    e+013
    11
    1230369955362001
    e+015
    5223946340715823
    e+014
    1230369938308720
    e+015

    讨:
    线性代数方程组性态条件数着重关系矩阵条件数刻画矩阵性质重条件数越矩阵病态性越严重解线性代数方程组程中较容易产生较误差实际问题操作程中必须减少条件数求解条件数较矩阵化成条件数较矩阵进行求解
    实验体会:
    次实验中知道矩阵条件数线性代数方程组求解影响条件数越解影响越hilbert矩阵病态矩阵条件数着阶数增加增增加阶条件数增数量级求解程中量避免hilbert矩阵


    实验六 解线性方程组迭代法

    实验61(病态线性方程组求解)
    问题提出:理分析表明求解病态线性方程组困难实际情况否会出现样现象呢?
    实验容:考虑方程组Hxb求解中系数矩阵HHilbert矩阵

    著名病态问题通首先定解(例取分量均1)计算出右端b办法出确定问题
    实验求:
    (1)选择问题维数6分Gauss消法J迭代法GS迭代法SOR迭代法求解方程组结果?计算结果问题解较结?
    (2)逐步增问题维数然述方法解计算结果?计算结果说明什?
    (3)讨病态问题求解算法
    程序代码:
    Gauss消法程序:
    function xgauss(nr)
    ninput('请输入矩阵阶数n')
    Ahilb(n)构造Hilbert矩阵
    pinput('条件数应范数p范数:p')
    ppcond(Ap)
    pause
    [mn]size(A)
    nbn+1Ab[A b]
    rinput('请输入否手动手动输入1动输入0:r')
    for i1n1
    if r0
    [pivotp]max(abs(Ab(ini)))
    ipp+i1
    if ip~i
    Ab([i ip])Ab([ip i])disp(Ab) pause
    end
    end
    if r1
    ii
    ipinput('输入i列选元素处行数:ip')
    Ab([i ip])Ab([ip i])disp(Ab) pause
    end
    pivotAb(ii)
    for ki+1n
    Ab(kinb)Ab(kinb)(Ab(ki)pivot)*Ab(iinb)
    end
    disp(Ab) pause
    end
    xzeros(n1)x(n)Ab(nnb)Ab(nn)
    for in111
    x(i)(Ab(inb)Ab(ii+1n)*x(i+1n))Ab(ii)
    end

    J迭代法程序:
    ninput('系数矩阵阶数')
    Ahilb(n)构造Hilbert矩阵
    for i1n
    a0(i)1 定解
    x(i)0
    end
    bA*a0' 定解算出相应b
    进行迭代
    for i1100
    yx
    for j1n
    x(j)b(j)A(jj)
    for k1j1
    x(j)x(j)A(jk)*y(k)A(jj)
    end
    for kj+1n
    x(j)x(j)A(jk)*y(k)A(jj)
    end
    end
    endx

    GS迭代程序:
    ninput('系数矩阵阶数')
    题中定矩阵进行消元
    A2hilb(n)
    for i1n
    a02(i)1
    x2(i)0
    end
    b2A2*a02'
    for i1100000
    for j1n
    x2(j)b2(j)A2(jj)
    for k1j1
    x2(j)x2(j)A2(jk)*x2(k)A2(jj)
    end
    for kj+1n
    x2(j)x2(j)A2(jk)*x2(k)A2(jj)
    end
    end
    endx2

    SOR迭代程序:
    ninput('系数矩阵阶数')
    ssinput('松弛子:')
    题中定矩阵进行消元
    A3hilb(n)
    for i1n
    a03(i)1
    x3(i)0
    end
    b3A3*a03'
    for i1100000
    for j1n
    rcx3(j)
    x3(j)b3(j)A3(jj)
    for k1j1
    x3(j)x3(j)A3(jk)*x3(k)A3(jj)
    end
    for kj+1n
    x3(j)x3(j)A3(jk)*x3(k)A3(jj)
    end
    x3(j)(1ss)*rc+ss*x3(j)
    end
    endx3



    实验结果分析:
    定分量1解计算出右端作问题
    1. 选择问题维数6时:
    Gauss消法求解精确解致
    取初始量0J迭代方法迭代出现发散稳定现象法求解
    取初始量0GS迭代方法迭代发散求解收敛非常缓慢迭代次数取相(100000次)时解精确解附波动
    取初始量0SOR迭代方法迭代发散求解松弛子125左右时收敛较GS迭代快非常缓慢

    2. 选择问题维数20时:
    Gauss消法求解精确解相差相差10量级
    取初始量0J迭代方法迭代发散法求解
    取初始量0GS迭代方法迭代发散求解收敛非常缓慢迭代100000次算值精确值1相差0001量级
    取初始量0SOR迭代方法迭代发散求解收敛非常缓慢
    面结果出病态问题阶数升高时作直接法Gauss消法求解变成求解GSSOR迭代法阶数升高时求解阶数较低时直接法求精确解迭代发总存定误差见直接法迭代法优势足

    关病态问题求解方法原方程作某预处理降低系数矩阵条件数采取系数矩阵A行适常数方法找逆角阵方程组化 理选择角阵满足:

    实验七 非线性方程求根
    实验71(迭代法初始值收敛性)
    实验目:初步认识非线性问题迭代法线性问题迭代法差探讨迭代法初始值迭代收敛性关系
    问题提出:迭代法求解非线性方程基思想方法线性方程情况样构造方法种样关键样迭代收敛较快收敛速度
    实验容:考虑简单代数方程

    针述方程构造种迭代法



    实轴取初始值x0请分迭代(71)(73)作实验记录算法迭代程
    实验求:
    (1)取定某初始值分计算(71)(73)迭代结果收敛性?重复选取初始值反复实验请选设计种较形象记录方式(利Matlab图形功)分析三种迭代法收敛性初值选取关系
    (2)三迭代法中某取初始值进行迭代结果?试分析迭代法初值否差异?
    (3)线性方程组迭代法收敛性赖初始值选取较线性非线性问题迭代差异结问题











    实验程:
    71程序:
    711 第迭代方程程序:
    保存:diedai71h
    Clc
    clear
    a15b25 y000 x00input('请输入第函数初值:x00')
    xlinspace(ab80)
    y0x 计算直线yx
    y1diedai7f1(x) 计算迭代函数yf(x)
    clear y
    y[y0y1]
    plot(xy'linewidth'1)
    legend('yx''yf1')
    title('x(n+1)[x(n)]^21') 输出标题
    hold on
    plot([a b][00]'k'[0 0][a b]'k')
    axis([abab]) 画坐标轴
    z[]
    for i115 画蛛网图迭代程n15次
    xt(1)x00yt(1)y00 决定始点坐标
    xt(2)diedai7f1(xt(1)) 决定终点坐标
    yt(2)diedai7f1(xt(1))
    diedaiplot71(xtyt06) 画蛛网图
    if i<5
    pause 意键逐次观察前5次迭代蛛网图
    end
    x00xt(2)y00yt(2) 次迭代终点作次始点
    z[zxt(1)] 保存迭代点
    end

    保存:diedai7f1h
    function ydiedai7f1(x)
    y(x*x1)

    保存:diedaiplot71h
    function outdiedaiplot72(xyp)画次迭代蛛网图改变p调节箭头
    u(1)0v(1)(y(2)y(1)) 画出始点(x(1)y(1))终点(x(2)y(2))折线段
    u(2)epsv(2)eps
    X[x(1) x(1)]
    Y[y(1) y(2)]
    hquiver(XYuvp)
    set(h'color''red')
    hold on
    u(1)(x(2)x(1))v(1)0
    u(2)epsv(2)eps
    hquiver([x(1) x(2)][y(2) y(2)]uvp)
    set(h'color''red')
    plot([x(1) x(1) x(2)][y(1) y(2) y(2)]'r')

    711 第迭代方程程序运行结果:
    (注:估计出方程根选取根附值开始迭代)

    x15时程序运行图:










    x1时程序运行图:



    x05时程序运行图:


    x05时程序运行图:



    x0时程序运行图:


    721 第二迭代方程程序:

    保存diedai72h:
    clear
    clc
    a01b65 y000 x00input('请输入第二函数初值:x00')
    xlinspace(ab80)
    y0x 计算直线yx
    y1diedai7f2(x) 计算迭代函数yf(x)
    clear y
    y[y0y1]
    plot(xy'linewidth'1)
    legend('yx''yf1')
    title('x(n+1)[x(n)]^21') 输出标题
    hold on
    plot([a b][00]'k'[0 0][a b]'k')
    axis([abab]) 画坐标轴
    z[]
    for i115 画蛛网图迭代程n15次
    xt(1)x00yt(1)y00 决定始点坐标
    xt(2)diedai7f2(xt(1)) 决定终点坐标
    yt(2)diedai7f2(xt(1))
    diedaiplot72(xtyt06) 画蛛网图
    if i<5
    pause 意键逐次观察前5次迭代蛛网图
    end
    x00xt(2)y00yt(2) 次迭代终点作次始点
    z[zxt(1)] 保存迭代点
    end

    保存迭代diedai7f2h:

    function ydiedai7f2(x)
    y(1+1x)

    保存:diedaiplot72h

    function outdiedaiplot72(xyp)画次迭代蛛网图改变p调节箭头
    u(1)0v(1)(y(2)y(1)) 画出始点(x(1)y(1))终点(x(2)y(2))折线段
    u(2)epsv(2)eps
    X[x(1) x(1)]
    Y[y(1) y(2)]
    hquiver(XYuvp)
    set(h'color''red')
    hold on
    u(1)(x(2)x(1))v(1)0
    u(2)epsv(2)eps
    hquiver([x(1) x(2)][y(2) y(2)]uvp)
    set(h'color''red')
    plot([x(1) x(1) x(2)][y(1) y(2) y(2)]'r')

    722 第二迭代方程程序运行结果:
    (注:估计出方程根选取根附值开始迭代)

    x15时程序运行图:











    x5时程序运行图:



    x25时程序运行图:


    x05时程序运行图:



    731 第三迭代方程程序:

    保存diedai73h:
    clear
    clc
    a0b2 y000 x00input('请输入第三函数初值:x00')
    xlinspace(ab80)
    y0x 计算直线yx
    y1diedai7f3(x) 计算迭代函数yf(x)
    clear y
    y[y0y1]
    plot(xy'linewidth'1)
    legend('yx''yf1')
    title('x(n+1)[x(n)]^21') 输出标题
    hold on
    plot([a b][00]'k'[0 0][a b]'k')
    axis([abab]) 画坐标轴
    z[]
    for i115 画蛛网图迭代程n15次
    xt(1)x00yt(1)y00 决定始点坐标
    xt(2)diedai7f3(xt(1)) 决定终点坐标
    yt(2)diedai7f3(xt(1))
    diedaiplot73(xtyt06) 画蛛网图
    if i<5
    pause 意键逐次观察前5次迭代蛛网图
    end
    x00xt(2)y00yt(2) 次迭代终点作次始点
    z[zxt(1)] 保存迭代点
    end

    保存diedai7f3h:
    function ydiedai7f3(x)
    ysqrt(x+1)

    保存diedaiplot73h:
    function outdiedaiplot73(xyp)画次迭代蛛网图改变p调节箭头
    u(1)0v(1)(y(2)y(1)) 画出始点(x(1)y(1))终点(x(2)y(2))折线段
    u(2)epsv(2)eps
    X[x(1) x(1)]
    Y[y(1) y(2)]
    hquiver(XYuvp)
    set(h'color''red')
    hold on
    u(1)(x(2)x(1))v(1)0
    u(2)epsv(2)eps
    hquiver([x(1) x(2)][y(2) y(2)]uvp)
    set(h'color''red')
    plot([x(1) x(1) x(2)][y(1) y(2) y(2)]'r')

    732 第三迭代方程程序运行结果:
    (注:估计出方程根选取根附值开始迭代)
    x15时程序运行图:

    x04时程序运行图:



    x08时程序运行图:


    x12时程序运行图:



    x18时程序运行图:


    实验求分析:
    通述三种迭代图判断出第迭代方程收敛第二第三迭代方程收敛时出初值选择决定收敛速度迭代方程言第二迭代方程选取初始点方程该点y轴差值越收敛速度越快第三迭代方程体第二迭代方程相似选取初始点两条曲线间间距越收敛越快
    实验求二分析:
    迭代法求解非线性方程根种迭代方程迭代方程求解会产生结果第迭代方程收敛第二第三收敛说明迭代方程选取会直接影响非线性方程求解果选取迭代方程话少收敛然然希收敛速度越快越说迭代方程选取坏两评价标准:(1)否收敛(2)收敛速度快慢:收敛速度快慢取决初始值选择果初始值选取较话够快收敛结束
    根述原第二迭代方程进行讨:
    (1) 否收敛:迭代图明显出第二迭代方程收敛初始化值选取少总会收敛定区域第迭代方程初始值选取收敛定区域第
    (2) 收敛速度快慢:图初始值选取出收敛速度明显取决初始值选择初始值选取越贴解收敛速度越快否慢慢收敛第三迭代方程
    实验求三分析:
    解线性方程组迭代法收敛性取决迭代方法系数矩阵谱半径谱半径1收敛初值选取关解非线性方程根迭代法求解收敛性取决迭代方程斜率取定初始点斜率1收敛初值选取关
    实验总结:
    通实验解非线性方程迭代法求根种迭代方法迭代方程会实验结果成影响例面第迭代方程收敛仅浪费时间结果适选取迭代方程适合初值利提高迭代方程迭代速度减少计算量较快理想答案通常知道迭代方程收敛初值选取样够收敛较快
    重 庆 交 通 学
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 3 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    数值计算方法试题及答案

    数值计算方法试题一一、 填空题(每空1分,共17分)1、如果用二分法求方程在区间内的根精确到三位小数,需对分( )次。2、迭代格式局部收敛的充分条件是取值在(     ).3、已知...

    1年前   
    1057    0

    《数值分析》课程实验报告

    《数值分析》课程实验报告姓 名: 学 号: 学 院: 机 电 学 院 日 期: 2015 年 X 月X...

    3年前   
    2085    0

    清华大学数值分析实验报告

    数值分析实验报告 一、 实验3.1题目:考虑线性方程组,,,编制一个能自动选取主元,又能手动选取主元的求解线性代数方程组的Gauss消去过程。(1)取矩阵,,则方程有解。取计算矩阵的条件数...

    3年前   
    813    0

    数值积分上机实验报告

    数值积分上机实验报告题一:数学上已经证明了0141+x2dx=π成立,所以可以通过数值积分来求π的近似值。1.分别使用复合梯形、复合Simpson求积公式计算π的近似值。选择不同的h,对每种求...

    1年前   
    569    0

    数值计算方法课后习题答案(李庆扬等)

    第一章 绪论(12)1、设,x的相对误差为,求的误差。[解]设为x的近似值,则有相对误差为,绝对误差为,从而的误差为,相对误差为。2、设x的相对误差为2%,求的相对误差。[解]设为x的近似值,...

    2年前   
    866    0

    数值线性代数上机习题第四章实验报告

    第四章上机习题1考虑两点边值问题容易知道它的精确解为为了把微分方程离散化,把[0,1]区间n等分,令h=1/n,得到差分方程简化为从而离散化后得到的线性方程组的系数矩阵为对分别用Jacobi迭...

    1年前   
    402    0

    数值分析答案

    习题二2-1 已知y=f(x)的数值如下:(1) x0123y2312147(2)x-2-101y154524求Lagrange插值多项式并写出截断误差。解:(1)(2)2-2 已知函数lnx...

    2年前   
    640    0

    数值分析试题及答案

    数值分析试题一、 填空题(2 0×2′)1. 设x=0。231是精确值x*=0.229的近似值,则x有 2 位有效数字.2. 若f(x)=x7-x3+1,则f[20,21,2...

    1年前   
    2451    0

    数值分析选择题

    数值计算方法选择题1 设某数,那么的有四位有效数字且绝对误差限是的近似值是( B )(A)0.693 (B)0.6930 (C)0.06930 (D)0.0069302 已知n对观测...

    2年前   
    1081    0

    数值分析选择题

    数值分析选择题 (1)1. 以下误差限公式不正确的是( ) A. B。 C. D. 2. 步长为的等距节点的插值型求积公式,当时的牛顿-科茨求积公式为( ...

    1年前   
    435    0

    TWC老化特性数值仿真及优化研究

    目前,汽车已经成为人们生活中重要的交通工具。为了控制汽车的尾气排放污染,保护人类赖以生存的大气环境,世界各国纷纷采取严格的汽车排放标准,针对汽车污染研发了各种技术措施和控制对策,其中汽油机三效催...

    3年前   
    689    0

    数值分析计算实习题

     《数值分析》计算实习题姓名: 学号: 班级: ...

    2年前   
    760    0

    数值分析复习题及答案

    数值分析复习题一、选择题1. 3.142和3.141分别作为的近似数具有( )和( )位有效数字.   A.4和3          B.3和2    C.3和4          D....

    1年前   
    582    0

    数值分析检测题

    数值分析第一章检测题(黄)一、 填空题(每空4')1. 已知x=62.1341是由准确数a经四舍五入得到的a的近似值,试给出x的绝对误差限_______________.2. 设x和y的相对误...

    2年前   
    1156    0

    ProCAST数值模拟作业

    数值模拟在一些成型工艺上的应用已经越来越广泛,因为数值模拟能够对于成型过程进行很好的分析与观察,这使得我们在真正生产中无法做到的,我们可以应用这些数值模拟软件来进行成型过程在计算机中的在现,从...

    5年前   
    1664    0

    风量风速计算方法

    风量风速计算方法一、室内风管风速选择表1、 低速风管系统的推荐和最大的流速m/s应用场所住宅公共建筑工厂推荐最大推荐最大推荐最大室外空气入口空气过滤器加热排管冷却排管淋水室风机出口主风管支风管...

    3年前   
    1220    0

    春节加班工资的计算方法

    春节加班工资的计算方法  加班工资是指劳动者按照用人单位生产和工作的需要在规定工作时间之外继续生产劳动或者工作所获得的劳动报酬。那春节加班工资的计算方法是怎样的呢?  春节加班工资不能一刀切算...

    11年前   
    594    0

    关于复活节的计算方法

    关于复活节的计算方法  复活节的计算方法如下文  复活节会在每年春分月圆之后第一个星期日举行,因为春分之后北半球便开始日长夜短——光明大过黑暗,月圆的时候,不但在日间充满光明,就连漆黑的夜晚也...

    9年前   
    562    0

    复活节的计算方法

    复活节的计算方法  复活节的计算方法  复活节会在每年春分月圆之后第一个星期日举行,因为春分之后北半球便开始日长夜短——光明大过黑暗,月圆的时候,不但在日间充满光明,就连漆黑的夜晚也被光辉(月...

    12年前   
    724    0

    计算方法例题解答

    在进行一个工程问题数值计算时,一般误差有哪些可能的来源?模型误差、参数误差(测量、计算等)、理论误差(算法、模型应用)、舍如误差

    4年前   
    1188    1

    文档贡献者

    文***享

    贡献于2023-01-30

    下载需要 3 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档