Is this code good enough for illustrate gradient descent
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1090080/image.png)
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1090085/image.png)
I dont know if this illustration good enough
2 commentaires
John D'Errico
le 6 Août 2022
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
le 6 Août 2022
Modifié(e) : Adam Danz
le 7 Août 2022
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.
Réponses (0)
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!