% Priklad 13.4 clear all close all %%%%%%%%%%%%%%%%%% %% fazove pole %%% %%%%%%%%%%%%%%%%%% xh=-3.5:0.2:3; yh = -2:0.2:3; % rozsah v x, y takovy, ze obsahuje oba BR [x,y] = meshgrid(xh,yh); tx = x-2*y+1; % x-ove slozky 1. derivace reseni ulohy 13.4 ty = 1./x-y; % y-ove slozky 1. derivace % ttx, tty - normalizace vektoru 1. derivace: p = sqrt(tx.*tx + ty.*ty); % velikost vektoru 1.derivace z = find(p<0.00001); % aby se nedelilo 0 v BR p(z) = 1; ttx = 0.8*tx./p; % 0.8 je empiricka konst., vypada to nejlip tty = 0.8*ty./p; % v kazdem bode site xh,yh se nakresli vektor [ttx, tty] quiver(xh, yh, ttx, tty); grid minor on title('Fazove pole','fontsize',16) % fazove pole v okoli B = [1,1] % - stejny postup jako vyse, jen jiny vyrez v rovine xy xh=0.06:0.1:3; yh = -1:0.1:3.2; [x,y] = meshgrid(xh,yh); tx = x-2*y+1; ty = 1./x-y; p = sqrt(tx.*tx + ty.*ty); z = find(p<0.00001); p(z) = 1; ttx = 0.8*tx./p; tty = 0.8*ty./p; figure % novy obrazek quiver(xh, yh, ttx, tty); grid minor on title('Fazove pole v okoli B = [1,1]','fontsize',16) %%%%%%%%%%%%%%%%%%%%%%%%%%% %% trajektorie v okoli B %% %%%%%%%%%%%%%%%%%%%%%%%%%%% z=x.*y-log(abs(x))-y.^2+y; % prvni integral soustavy figure colormap(gray); % nastaveni barevnosti na cernobilou contourf(x,y,z,30) % izokrivky funkce z: cim vyssi hodnoty, tim svetlejsi grid minor on hold on % doplneni poloprimkovych trajektorii ulohy linearizovane v okoli B p=sqrt(3)/2; plot([0.1 2.6],[(1/2+p)*(-0.9)+1, (1/2+p)*1.6+1],'k','linewidth',2) plot([0.1 3],[(1/2-p)*(-0.9)+1, (1/2-p)*2+1],'k','linewidth',2) title('Fazovy obraz v okoli B = [1,1]','fontsize',16) % trajektorie ulohy linearizovane v B, posunute do pocatku xh=-1:0.1:2; yh = -2:0.1:2.2; [x,y] = meshgrid(xh,yh); zz=x.*y+x.^2/2-y.^2; % prvni integral linearizovane soustavy figure colormap(gray); contourf(x,y,zz,30) hold on % poloprimkove trajektorie plot([-1 2],[-1/2+p, (1/2-p)*2],'k','linewidth',2) plot([-1 1.6],[-1/2-p, (1/2+p)*1.6],'k','linewidth',2) grid minor on title('Fazovy obraz ulohy linearizovane v B = [1,1]','fontsize',16)