matlab最速下降法例子,matlab 最速下降法 steepest descent (实例并附有详细说明)

本来想找一个现成的程序,结果找到的要么不能用,要么没有说明,索性自己编了一个。包括一个主程序和一个子程序。供大家分享

% Main program of steepest.

% 最速下降法主程序

%----------------------These lines only for ploting figures

%(前面几行是为了画图用的,可以不要)

clear

xx=-11:0.2:11; % 图中坐标的起始点

yy=-11:0.2:11;

[X,Y]=meshgrid(xx,yy);

for i=1:111

for j=1:111

y(1)=X(i,j);

y(2)=Y(i,j);

Z(i,j)=f_df(y); % z必须是网格化的数据

end

end

%mesh(X,Y,Z)

contour(X,Y,Z,50)

hold on

%-----------------------------------end for ploting figures

syms x1 x2 f lmda lm

x=[0;10]; % x的初值

xs=[x1; x2]; % 由于在求lmda过程中要用到符号函数的求导,故此定义符号运算的xs

[f0,g]=f_df(x); % 将x的初值代入,得到函数及其梯度的数值

[h, gs]=f_df(xs) % 将xs代入,得到符号表达式h

flag=999. % 用于控制循环

ii=0 % 用于循环计数<

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值