📄 fsxsteep.m
字号:
function x=fsxsteep(f,e,a,b)
% fsxsteep函数 最速下降法
% x=fsxsteep(f,e,a,b)为输入函数 f为函数 e为允许误差 (a,b)为初始点;
% fsx TJPU 2008.6.15
x1=a;x2=b;
Q=fsxhesse(f,x1,x2);
x0=[x1 x2]';
fx1=diff(f,'x1'); %对x1求偏导数
fx2=diff(f,'x2'); %对x2求偏导数
g=[fx1 fx2]'; %梯度
g1=subs(g); %把符号变量转为数值
d=-g1;
while (abs(norm(g1))>=e)
t=(-d)'*d/((-d)'*Q*d);t=(-d)'*d/((-d)'*Q*d); %求搜索方向
x0=x0-t*g1; %搜索到的点
v=x0;
a=[1 0]*x0;
b=[0 1]*x0;
x1=a;
x2=b;
g1=subs(g);
d=-g1;
end;
x=v;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -