%初始搜尋點: x; %線性無關的初始向量組: P; %自變數向量: var %精度: eps; %目標函式取最小值時的自變數值: x; %目標函式的最小值: minf;format long; if nargin==3 eps=1.0e-6;endn=length(var)+1; syms l;while 1 y=zeros(size(P));y(:,1)=x0;for i=1:n-1 %在每個搜尋方向上進行一維搜尋 yv=y(:,i)+l*P(:,i); fy=Funval(f,var,yv); [a,b]=minJT(fy,0,0.1); tl=minHJ(fy,a,b); y(:,i+1)=y(:,i)+tl*P(:,i);endP(:,n)=y(:,n)-y(:,1); if norm((P(:,n))maxDFmaxDF=df;m=j+1;endendtmpF=Funval(f,var,2*y(:,n)-y(:,1)); fl=FY(1)-2*FY(n)+tmpF; if fl
%初始搜尋點: x; %線性無關的初始向量組: P; %自變數向量: var %精度: eps; %目標函式取最小值時的自變數值: x; %目標函式的最小值: minf;format long; if nargin==3 eps=1.0e-6;endn=length(var)+1; syms l;while 1 y=zeros(size(P));y(:,1)=x0;for i=1:n-1 %在每個搜尋方向上進行一維搜尋 yv=y(:,i)+l*P(:,i); fy=Funval(f,var,yv); [a,b]=minJT(fy,0,0.1); tl=minHJ(fy,a,b); y(:,i+1)=y(:,i)+tl*P(:,i);endP(:,n)=y(:,n)-y(:,1); if norm((P(:,n))maxDFmaxDF=df;m=j+1;endendtmpF=Funval(f,var,2*y(:,n)-y(:,1)); fl=FY(1)-2*FY(n)+tmpF; if fl