Advertisement
Statev

PhasePortrait

Feb 16th, 2012
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.66 KB | None | 0 0
  1. %задача 2:
  2. %| x'= -2*x + 7*y - y^3;
  3. %| y'= 7*x - 2*y - x^3;
  4. %Начертайте фазов портрет на системата. Определете равновесните точки.
  5. %Кои равновесни точки са устойчиви?
  6.  
  7. %За решението на задачата на Коши за системата с начални данни x(0)=-8, y(0)=-8 направете
  8. %анимация на движението на точката (x(t),y(t)) във фазовото пространство, когато времето t
  9. %се мени от 0 до 2.
  10.  
  11. [x,y] = solve('-2*x+7*y-y^3=0,7*x-2*y - x^3=0') %равновесни точки
  12. [x,y] = solve('-2*x+7*y-y^3=0,7*x-2*y - x^3=0,x>0,y>0') %устойчиви равновестни точки
  13.  
  14. [x, y] = meshgrid(-1:0.1:1, -1:0.1:1);
  15. xdot = -2*x + 7 *y+y.^3;
  16. ydot = -7*x-2*y-x.^3;
  17. quiver(x1,x2,x1dot, x2dot) %чертае фазовите портрети
  18.  
  19. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  20. function res=sys2(t,y)
  21. res=[-y(1)+7*y(2)-y(2)*y(2)*y(2);
  22.     7*y(1)-2*y(2) - y(1)*y(1)*y(1)]; %sys2.m
  23. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  24.    
  25. x0=[1,2,3,-1,-2,3];
  26. y0=[1,2,3,-1,-2,-3];
  27. for k=1:length(x0)
  28. [t,y]=ode45(@sys2,[0,4],[x0(k),y0(k)]);
  29. plot(y(:,1),y(:,2))
  30. axis([-10,10,-10,10])
  31. hold on
  32. [t,y]=ode45(@sys2,[0,-4],[x0(k),y0(k)]);
  33. plot(y(:,1),y(:,2),'r')
  34. end %изчертава един фазов портрет
  35.  
  36. h=0:0.05:2;
  37. [t,x]=ode45(@sys2,[0,2],[-8,-8]);
  38. for t=1:length(h)
  39. plot(x(1:t,1),x(1:t,2))
  40. hold on;
  41. plot(x(t,1),x(t,2),'o')
  42. axis([-30,30,-30,30]);
  43. M(t)=getframe;
  44. hold off;
  45. end; %изкарва търсената анимация
  46. movie(M,3);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement