资源简介
这是一个可以手工设置步长的matlab对梯度下降算法的演示,可以看到每次迭代到的点,非常直观的观看梯度下降算法的工作原理
代码片段和文件信息
%绘制出来最原始的方程的图像,方程为f=x^2+y^2;定义域分别设置成为[-10 10],然后随便的设置一个初始点以及迭代的值和步长,来查看使用梯度下降算法的迭代过程%
[x y] = meshgrid(-10:0.5:10 -10:0.5:10);
z = x.^2 + y.^2;
mesh(x y z);
%分别求x和y的偏导数%
%dx = 2*x;
%dy = 2*y;
%设置x,y的初始值,并且每步骤更新的值都加入到这个记录中来,第一个是初始值,为了迭代方便设置下第二个元素的值
record_values = [-9;-9];
%设置每次更新的步长%
step = 0.2;
%设置迭代次数%
count = 20;
%开始迭代%
for i=1:count
current_x = record_values(1i);
current_y =
- 上一篇:英国谢菲尔德大学遗传算法工具箱及安装说明
- 下一篇:多径效应MATLAB程序
评论
共有 条评论