Why my stable point is not in [0,0]?
    조회 수: 6 (최근 30일)
  
       이전 댓글 표시
    
Hi, I am trying to plot this phase-time portrait by code I have found here. I don't know why my stable point is not in [0,0] but is shifted to aproximately [11,11]. Any ideas how to repair this problem ? Thanks a lot. 
the code: 
figure()
%phase-time
[X1,X2] = meshgrid(-5:0.5:5);
xs = arrayfun(@(x,y) {odeFun([],[x,y])}, X1, X2);
x1s = cellfun(@(x) x(1), xs);
x2s = cellfun(@(x) x(2), xs);
quiver(x1s, x2s)
xlabel('x_1')
ylabel('x_2')
axis tight
function dxdt = odeFun(t,x)
    global A %pre-difined matrix of autonomous system of ODE's
    dxdt(1) = A(1,1)*x(1)+A(1,2)*x(2);
    dxdt(2) = A(2,1)*x(1)+A(2,2)*x(2);
end

댓글 수: 2
  jessupj
      
 2021년 4월 29일
				
      편집: jessupj
      
 2021년 4월 29일
  
			my guess is that (0,0) corresponds to [X1(11,11),X2(11,11)].  that is, the plot is plotting arrows at locations based on the index of the vectors since you are not telling it what the coordinates are.
try reading the documetnation of quiver to add the location arguments, probably something like
quiver( x1s,x2s, X1, X2)
채택된 답변
  Jan
      
      
 2021년 4월 30일
        Your command for creating the diagram does not get any information about the X and Y coordiantes:
quiver(x1s, x2s)
Then it assume, that the coordinates are going from 1 to the number of elements in each direction.
Provide the X and Y coordinates, if you want so see them:
quiver(X1, X2, x1s, x2s)
Trying to run your code produces an errort message, e.g. due to the missing variable A. So please test this by your own.
댓글 수: 2
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
