band.m

来自「无约束优化中的共轭梯度算法程序」· M 代码 · 共 51 行

M
51
字号
function [fvec,J] = band(n,m,x,opt)%******************************************% Function [Fvec, J]= band (n,m,x,opt)% Broyden banded function   [31]% Dimensions: n variable,   m=n% Standard starting point: (-1,...,-1)% minima of f=0%% coded in MATLAB  11/94        plk% *****************************************   ml=5;mu=1; J=zeros(m,n);for i=1:m        sum=0;        lb=max(1,i-ml);        lu=min(n,i+mu);                 for j=1:n           if (j ~= i)              if((j>=lb)&(j<=lu))                 sum=sum + x(j)*(1+x(j));              end;           end;        end;        if((opt==1)|(opt==3))          fvec(i)=x(i)*(2+5*(x(i)^2))+1-sum;        end;        if((opt==2)|(opt==3))          for j=1:n            if i==j               J(i,j)=2+15*(x(i)^2);                      elseif((j>=lb)&(j<=lu))                J(i,j)=1+2*x(j);            end;          end;        end;end;                 fvec=fvec';if((opt<1)|(opt>3))   disp('Error: Option value sent to BAND.M is either <1 or >3 ');end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?