Is this code good enough for illustrate gradient descent

1 回表示 (過去 30 日間)
Dinh Le Dung
Dinh Le Dung 2022 年 8 月 6 日
編集済み: Adam Danz 2022 年 8 月 7 日
This is my code for 15 iterative steps
clf
X = -3:0.1:3;
[X,Y] = meshgrid(X);
Z = 4*X.^2-4*X.*Y+2*Y.^2;
surf(X,Y,Z,'FaceColor','c','FaceAlpha',0.3,'EdgeColor','none');
hold on
x(1) = 2; % initial value of x
y(1) = 3; % initial value of y
z(1) = 4*(x(1)).^2-4*(x(1)).*(y(1))+2*(y(1)).^2;
stepsize = 0.1;
for i = 1:15
zx = 8*x(i)-4*y(i);
zy =-4*x(i)+4*y(i);
x(i+1) = x(i) - stepsize*zx; %gradient descent
y(i+1) = y(i) - stepsize*zy;
z(i+1) = 4*(x(i+1)).^2-4*(x(i+1)).*(y(i+1))+2*(y(i+1)).^2;
end
plot3(x,y,z,'o','Markersize',3,'Color','red')
hold off
axis([min(x),max(x), min(y),max(y), min(z), max(z)]);
rotate3d on;
xlabel x; ylabel y; zlabel z;
I get this figure
I dont know if this illustration good enough
  2 件のコメント
John D'Errico
John D'Errico 2022 年 8 月 6 日
Is it good enough? Why not? Does it show the indicated behavior? It seems to do so. Did you write an explanation? (I don't see one, but I don't case as that is not a MATLAB question.) Is there any discussion of the behavior at the end? I don't see any, but in either case, such a discussion would be off-topic for Answers, as having nothing to do with MATLAB.
Surely the only one who can make an assessment of perfection is your teacher, who will grade your work? After all, suppose we said it was incredibly good, but your teacher disagrees? Who is right? (The one who will assign a grade.)
Adam Danz
Adam Danz 2022 年 8 月 6 日
編集済み: Adam Danz 2022 年 8 月 7 日
In my opinion, instead of setting EdgeColor to None, it would look better if you set EdgeAlpha to something like 0.4. It will help to show the 2D structure of the surface. You may want to set the viewing angle (view) if you need a specific vantage point.

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by