?? fsxsteep.m
字號(hào):
function x=fsxsteep(f,e,a,b)
% fsxsteep函數(shù) 最速下降法
% x=fsxsteep(f,e,a,b)為輸入函數(shù) f為函數(shù) e為允許誤差 (a,b)為初始點(diǎn);
% fsx TJPU 2008.6.15
x1=a;x2=b;
Q=fsxhesse(f,x1,x2);
x0=[x1 x2]';
fx1=diff(f,'x1'); %對(duì)x1求偏導(dǎo)數(shù)
fx2=diff(f,'x2'); %對(duì)x2求偏導(dǎo)數(shù)
g=[fx1 fx2]'; %梯度
g1=subs(g); %把符號(hào)變量轉(zhuǎn)為數(shù)值
d=-g1;
while (abs(norm(g1))>=e)
t=(-d)'*d/((-d)'*Q*d);t=(-d)'*d/((-d)'*Q*d); %求搜索方向
x0=x0-t*g1; %搜索到的點(diǎn)
v=x0;
a=[1 0]*x0;
b=[0 1]*x0;
x1=a;
x2=b;
g1=subs(g);
d=-g1;
end;
x=v;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -