%--------------------------------------------------------- % 複数の渦点の運動を計算するプログラム %--------------------------------------------------------- function vortex global g; %------------------------------ h=0.1; % 画面表示する t の間隔 nstep=1000; % 時間発展するステップ数 % ( t = nstep * h まで時間発展されることになる) m=1; % h をルンゲクッタ法においてどれだけ分割して計算するか % (m が大きい程精度は上がるが, m に比例して計算時間がかかる) %------------------------------ z(1,1)=0; % 1番目の渦の x座標の初期値 z(2,1)=1; % 1番目の渦の y座標の初期値 g(1)=1; % 1番目の渦の循環Γの値 z(1,2)=0; % 2番目の渦の x座標の初期値 z(2,2)=-1; % 2番目の渦の y座標の初期値 g(2)=1; % 2番目の渦の循環Γの値 % 渦の位置や循環の値を変えたければ, 上記の値を変えればよい. % 3番目, 4番目の渦を追加したければ, 続けて % z(1,3)=.... などとして増していけばよい. %------------------------------ % hold on % もし軌跡を描きたいときは, このコメントを外せばよい. t=0; graph(t,z); % 渦点の位置の表示(初期値) for istep=1:nstep [t,z]=rk4u(m,h,t,z,'func'); graph(t,z); % 渦点の位置の表示 sleep(0.1); % 画面表示を何秒毎に更新するかの設定 end