[繪圖] matlab梯度下降法 軌跡

看板MATLAB作者時間7年前 (2017/06/21 21:01), 7年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
上次問過 沒結果 這次貼一下程式 clear x1=0.5; %x1初始值 x2=0.5; %x2初始值 alpha=0.01; %學習率 for i=1:1350 ax=[0.5 zeros(1,1350)]; bx=[0.5 zeros(1,1350)]; gradFx1=2*x1+2*x2+1; %計算x1梯度 gradFx2=2*x1+4*x2; %計算x2梯度 y1=x1-alpha*gradFx1; %x1迭代 y2=x2-alpha*gradFx2; %x2迭代 ax(i+1)=y1; bx(i+1)=y2 x1=y1; x2=y2;; end x1,x2 F=x1.^2+2*x2.^2+2*x1.*x2+x1+1 x=-2:0.1:2; y=x; [x1 x2]=meshgrid(x,y); z=x1.^2+2*x2.^2+2*x1.*x2+x1+1; contour(x1,x2,z) plot(ax(:,1),bx(:,2),'r') hold off 要畫出如 梯度法的迭代路徑 可是畫不出來只有等高圖 有人知道錯哪嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.226.111 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1498050102.A.C22.html ※ 編輯: Capital235 (118.160.226.111), 06/21/2017 21:28:45

06/21 22:53, , 1F
少了 hold on ? 放在 contour 之後
06/21 22:53, 1F
文章代碼(AID): #1PIcusmY (MATLAB)
文章代碼(AID): #1PIcusmY (MATLAB)