¸ÞÀϺ¸³»±â

À̸§°Ë»ö

::: SHIN, Byeong-Chun's Board


97 610 Åë°èÄ«¿îÅÍ º¸±â   ȸ¿ø °¡ÀÔ È¸¿ø ·Î±×ÀÎ °ü¸®ÀÚ Á¢¼Ó --+
Name   ½Åº´Ãá
Subject   Fox and Rabbit
File  
fox.avi [1.1 MB] ´Ù¿î¹Þ±â fox.avi (1.1 MB) - Download : 292
% rabbit_fox.m  : pursuit problem
% y1' = s*(r1-y1),  y2' = s*(r2-y2)
% s = k*norm(r')/norm(r-y),  r = sqrt(1+t)*[cos(t);  sin(t) ];
% y1(0) = 3;  y2(0) = 0;
% function  main(k)

function  main(k)

tspan = [0, 10];  yz = [5; 0];
options = odeset( 'AbsTol', 1e-7, 'RelTol', 1e-4 );
[t, y] = ode45( @fox1, tspan, yz, options, k );
% rabbit path
r1 = sqrt(1+t).*cos(t);   r2 =sqrt(1+t).*sin(t);
plot(r1,r2,'--', y(:,1), y(:,2) );

pause; clf;
plot(5,0,'o');  axis([min(r1)-1 max(r1)+1 min(r2)-1 max(r2)+1 ]); hold on
title(' Rabbit(...)  and   Fox(--) ')
xlabel y_1,  ylabel y_2

mov = avifile('fox.avi');

for j=1:length(t)
    plot(r1(j),r2(j),'d', y(j,1), y(j,2), 'or');
    F = getframe(gca);
    mov = addframe(mov,F);
end
   mov = close(mov);
  


%%%% Right hand side function
function  yp = fox1(t, y, k);
   r = sqrt(1+t)*[cos(t); sin(t)];
   rp = (.5/sqrt(1+t))*[ cos(t)-2*(1+t)*sin(t);  sin(t)+2*(1+t)*cos(t) ];
   dist = norm(r-y);
   if dist > 1e-4
       st = k*norm(rp)/dist;
       yp = st*(r-y);
   else
       error(' ODE model ill-defined ');
   end
  

°Ô½Ã¹°À» À̸ÞÀÏ·Î º¸³»±â ÇÁ¸°Æ®Ãâ·ÂÀ» À§ÇÑ È­¸éº¸±â
DATE: 2009.11.19 - 15:26


 ÀÌÀü±Û ÀÀ¿ë¼öÇÐ1 Á¡¼ö
 ´ÙÀ½±Û ode45
±Û³²±â±â»èÁ¦Çϱâ¼öÁ¤Çϱâ´äº¯´Þ±âÀüü ¸ñ·Ï º¸±â