www.gusucode.com > 《模糊逻辑工具箱新》(Fuzzy Logic Toolbox Add-On)程序源码 > phase_portrait.m
% This script prints Phase Portrait for close loop system in range X1,X2=[-10:10] %Plant=txt2fis('Plant.txt'); %Controller=txt2fis('Controller.txt'); Plant=readfis('Plant.fis'); Controller=readfis('Controller.fis'); Accuracy=.5; tend=.6; Limit=10; X1=-Limit:Accuracy:Limit; X2=X1; figure,hold on X0=[0;0]; for j=1:length(X2) if (j==1 || j==length(X2)) index=1:length(X1); else index=[1,length(X1)]; end for i=index X0=[X1(i),X2(j)]; [t,dX]=ode45(@fuzeval,[0,tend],X0,[],Plant,Controller); plot(dX(:,1),dX(:,2)) end end hold on,plot([-Limit-1,Limit+1],[0,0],'k-.',[0,0],[-Limit-1,Limit+1],'k-.') axis([min(X1)-1 max(X1)+1 min(X2)-1 max(X2)+1]); xlabel('X1'),ylabel('X2') title('Phase Portrait')