Bkmz

Untitled

Apr 18th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.91 KB | None | 0 0
  1. syms x1 y1
  2.  
  3. % hold off
  4. step = 0.1;
  5. [x,y] = meshgrid(-5:step:5, -5:step:5);
  6.  
  7. % func =  sym('A^2 + B^2')
  8. func = sym('(1-x1)^2 + 100*(y1-x1^2)^2');
  9. % func = sym('2*x1^2 + y1^2 + x1*y1')
  10. % func = sym('-2*x1^2 - y1^2 + x1*y1')
  11. func_hl = matlabFunction(func);
  12.  
  13. z = func_hl(x,y);
  14.  
  15. stX = -3;
  16. stY = -3.5;
  17.  
  18. H = 0.00005;
  19.  
  20. hold on;
  21. contour(x,y,z, 128);
  22. % clabel(C, h);    % Отображение меток на линиях уровня
  23. % quiver(x,y,gx,gy);
  24.  
  25.  
  26. X = stX, Y=stY
  27. plot(X,Y,'+');
  28. % break
  29.  
  30. for i=1:200
  31.     derivateX = diff(func, x1);
  32.     derivateX = matlabFunction(derivateX);
  33.    
  34.     derX = derivateX(X, Y);
  35.    
  36.     derivateY = diff(func, y1);
  37.     derivateY = matlabFunction(derivateY);
  38.    
  39.     derY = derivateY(X, Y)
  40.    
  41.     derX = derX * H;
  42.     derY = derY * H;
  43.    
  44.      
  45.      X = X - derX
  46.      Y = Y - derY
  47.      
  48.      plot(X,Y,'x');
  49.      
  50.  end
  51.  
  52.  
  53. % hold on
  54. hold off;
Advertisement
Add Comment
Please, Sign In to add comment