Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.04 KB | None | 0 0
  1. function Phasemovie
  2. clear;
  3. tmax=14;
  4. x=-8:0.4:8;
  5. y=-8:0.4:8;
  6. axis([-8,8,-8,8]);
  7. hold on
  8. xlabel('x')
  9. ylabel('y')
  10. plot((7+sqrt(21))/2,(5+sqrt(21))/2,'g*',(7-sqrt(21))/2,(5-sqrt(21))/2,'g*')
  11.  
  12. [X,Y]=meshgrid(x,y);
  13.  
  14. %Дефинираме системата
  15. xd = Y.^2-(5*Y)+1;
  16. yd = X-Y-1;
  17.  
  18. %Задаваме големината на векторите да е еднаква и чертаем векторното поле
  19. absxy=(xd.^2+yd.^2).^(1/2);
  20. Xd=xd./absxy;
  21. Yd=yd./absxy;
  22. quiver(X,Y,Xd,Yd,0.5,'k')
  23.  
  24. %въвеждаме начална точка и изчисляваме стойноста на функцията за t в интервала [0,15]
  25. [x0,y0]=ginput(1);
  26. [T,Z]=ode45(@ff,[0,tmax],[x0; y0]);
  27.  
  28. %чертае фазовата крива
  29. x=Z(:,1); y=Z(:,2);
  30. for k=1:length(T)
  31.  
  32.  xx(k)=x(k); yy(k)=y(k);
  33.  plot(xx,yy,'b');
  34.  
  35.  M(k)=getframe();
  36. end
  37.  
  38. %Функция изчисляваща стойността на системата
  39. function z=ff(t,y)
  40.  z=[y(2).^2-5*y(2)+1;y(1)-y(2)-1];
  41.  end
  42.  
  43.  
  44. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement