Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. fun = @(x,y)2*(x^2) +(y^2) +(x*y) -(6*x) -(5*y) +8;
  2. x = -5:0.05:5;
  3. y = -5:0.05:5;
  4. [X,Y] = meshgrid(x,y);
  5. z = 2.*(X.^2) + Y.^2 + X.*Y -6.*X -5.*Y+8;
  6. contour(X,Y,z,50)
  7. %mesh(X,Y,z)
  8. hold on;
  9. x0 = -4;
  10. y0 = -4;
  11. alfa = 0.1;
  12.  
  13. while(true)
  14. f1 = fun(x0, y0);
  15. f2 = fun(x0, y0+alfa);
  16. f3 = fun(x0+alfa, y0);
  17. f4 = fun(x0, y0-alfa);
  18. f5 = fun(x0-alfa, y0);
  19. najmniejszy = min([f1,f2,f3,f4,f5]);
  20. if najmniejszy == f1
  21. break
  22. end
  23. if najmniejszy == f2
  24. line([x0, x0], [y0, y0+alfa], 'Color', 'r');
  25. y0 = y0+alfa;
  26. end
  27. if(najmniejszy == f3)
  28. line([x0, x0+alfa], [y0, y0], 'Color', 'r');
  29. x0 = x0+alfa;
  30. end
  31. if(najmniejszy == f4)
  32. line([x0, x0], [y0, y0-alfa], 'Color', 'r');
  33. y0 = y0-alfa;
  34. end
  35. if(najmniejszy == f5)
  36. line([x0, x0-alfa], [y0, y0], 'Color', 'r');
  37. x0 = x0-alfa;
  38. end
  39. end
  40.  
  41. fprintf("minimum = %f\n", najmniejszy);
  42. fprintf("x = %f\n", x0);
  43. fprintf("y = %f\n", y0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement