SHARE
TWEET

Untitled

a guest Jan 21st, 2020 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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);
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top