资源简介

包括牛顿拉夫逊法,Broyden拟牛顿法,弧长法,割线法。每种算法都包含有线性搜索迭代改进。

资源截图

代码片段和文件信息

%%%%%%%%  ArcLength
clc;clear all;close all;
%%%%%%%%  parameter setting
b=0.5;
da=0.2;
d0=[0 0]‘;
lamda0=0;
maxit=2e2;
Fext=[40 15]‘;
ddata(:1)=d0;
lamdadata(:1)=lamda0;
l=1;
Kb=[10 1.2*d0(2)^2-10*d0(2)
     1.2*d0(1)^2-6*d0(1) 10];
q=Kb\Fext;
c=(1-b)/(q‘*Kb*q);
while lamda0<=2 %&& abs(2-lamda0)>1e-10  %%%iteration loop 
    l;
    K0=[10 1.2*d0(2)^2-10*d0(2)
        1.2*d0(1)^2-6*d0(1) 10];
    if min(eig(K0))<=0 && max(eig(K0))<=0
        dlamda1=-da;
    else
        dlamda1=da;
    end
    %dlamda1=da;
    lamda1=lamda0+dlamda1;
    Fint=[10*d0(1)+0.4*d0(2)^3-5*d0(2)^2 
         0.4*d0(1)^3-3*d0(1)^2+10*d0(2)];  
    R0=lamda1*Fext-Fint;    
    dd1=dlamda1*inv(Kb)*Fext;
    d1=d0+dd1;    
    convg=0;
    tol=1e-10;
    it=0;
    while ~convg  %%%iteration loop 
        it=it+1;               
        f=sqrt(c*dd1‘*Kb*dd1+b*dlamda1^2);
        Fint=[10*d1(1)+0.4*d1(2)^3-5*d1(2)^2 
              0.4*d1(1)^3-3*d1(1)^2+10*d1(2)];  
        K1=[10 1.2*d1(2)^2-10*d1(2)
            1.2*d1(1)^2-6*d1(1) 10];
        R1=lamda1*Fext-Fint;
        A=c/f*dd1‘*Kb*inv(K1);
        B=lamda1*Fext-Fint;
        C=da-f;
        %Formula:  A(B+Dlamda1*Fext)+b/f*dlamda1*Dlamda1=C
        Dlamda1=(C-A*B)/(A*Fext+b/f*dlamda1);
        Dd1=inv(K1)*(R1+Fext*Dlamda1);
        d2=d1+Dd1;
        lamda2=lamda1+Dlamda1;
        dd2=dd1+Dd1;
        dlamda2=dlamda1+Dlamda1;
        
        dd1=dd2;
        d1=d2;
        lamda1=lamda2;        
        dlamda1=dlamda2;        
        Dd1‘*R1;
        if abs(R1)<=tol
            %fprintf(‘Iteration successes\n‘);
            convg=1;                       
        end  
        
        if it>maxit
            convg=1;
            fprintf(‘need more iteration\n‘);
        end        
        
    end    
    
    itdata(l1)=it;
    ddata(:l+1)=d1;
    lamdadata(:l+1)=lamda1;
    d0=d1;
    lamda0=lamda1;
    l=l+1;
end
figure1 = figure(‘Color‘[1 1 1]);
NR=[00.2037683279785300.4196560185962490.6572930395651470.9340727627752981.291964870125211.953281568938114.856399586572535.191428089454325.439801081847235.643128197920805.817987126430115.972913055941036.112962027539086.241412019238086.360527677402146.471949652721466.576911411963036.676368492185056.771079823005516.861661192430886.948621722324327.032389563559347.113330527087667.191761966324667.267963408229547.342184938373137.414654044183927.485581437523357.555166273499537.623601137849607.691077185720717.757789890153477.823946029528287.889772877874587.955531207961718.021535006955488.088183541030518.156017720898888.225829027081088.29889836160529;00.08711802852429980.1998771076197100.3432513206388360.5291487400889560.7894914409041991.296497765071453.018932124196313.088725992871123.113569761699433.115275566367303.102376414683863.079195239606693.048250306197143.011143068263922.968953927204212.922442114589512.872156074300112.818498614

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4907  2014-10-21 11:57  BFGSLineNRLineNRBFGS.m
     文件        4666  2014-10-21 11:41  BroydenLineNRLine.m
     文件        2882  2014-10-21 09:49  ModifiedNewtonLinesearch.m
     文件        2625  2014-10-21 11:11  NewtonRaphsonLinesearch.m
     文件        3993  2014-10-21 12:31  ArcLength.m

评论

共有 条评论