資源簡介
這是一個matlab對梯度下降的實現,模擬的是x^2+y^2最小值的取得
代碼片段和文件信息
function?[]?=?gradient(step?threadhold)
%在這里主要是演示對z=x^2+y^2的用梯度下降算法
%設置x和y的初始值%
x?=?100;
y?=?100;
%先計算前兩個步驟的值
last_step_result?=?x*x?+?y*y;
x?=?x?-?step*2*x;
y?=?y?-?step*2*y;
this_step_result?=?x^2?+?y^2;
%設置最大迭代次數%
max_count?=?1000000000;
index?=?0;
while?(abs(this_step_result?-last_step_result)?>threadhold)?&&?(index???%計算此時的結果%
??current_dx?=?2*x;
??current_dy?=?2*y;
??%計算新的x和y
??x?=?x?-?step*curre
- 上一篇:leach經典算法matlab代碼
- 下一篇:實驗流體力學 PTV matlab
評論
共有 條評論