? 加速步长法 MATLAB程序_牛聚文档

加速步长法 MATLAB程序

加速步长法   MATLAB程序
预览:

%accelerte_step.m

function [lift,right]=TJ(f,x0,h0)

x1=x0;

h=h0;

k=1;

x2=x1+h;

f1=subs(f,findsym(f),x1);

while(1);

f2=subs(f,findsym(f),x2);

if f2<f1

x3=x2+2*k*h;

k=k+1;

f3=subs(f,findsym(f),x3);

if f3<f2

x1=x2;

x2=x3;

else

lift=x1;

right=x3;

break;

end

else

h=-h;

x2=x1+h;

end

end

%?á??

% syms x;

% f=x^3-x^2-2*x+1;

第1页/共2页 下一页>