新しく発言する  EXIT  インデックスへ
もっと高速な方法はあるでしょうか?

  もっと高速な方法はあるでしょうか? 島村1243 2007/12/13 14:21:55  (修正1回)
  続き 島村1243 2007/12/13 14:23:05  (修正1回)
   ├(1)について(処理手順の改良) 山中和義 2007/12/14 08:55:07 
   │├!もったいない、整理すれば、4倍速。 SECOND 2007/12/14 21:34:04 
   ││└確かに速いです。 島村1243 2007/12/14 22:33:52 
   ││ └どっちでしょう? SECOND 2007/12/14 22:50:11  (修正1回)
   │└20秒速くなりました。 島村1243 2007/12/14 22:06:46 
   └(3)について各点での流線 山中和義 2007/12/15 09:43:05 

Re: 続き  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2007/12/15 09:43:05
(3)について 各点での流線



!複素ポテンシャル

OPTION ARITHMETIC complex

LET r=1 !導体球の半径
LET a1=4 !点電荷のx座標
LET a2=r^2/a1 !影像電荷のx座標
LET q1=1 !点電荷の大きさ
LET q2=-r/a1*q1 !影像電荷の大きさ

DEF f(z)=q1*LOG(z-a1)+q2*LOG(z-a2) !w=f(z)=φ+iψ 吹き出し(吸い込み)


SET WINDOW -6,6,-6,6 !描画範囲
DRAW grid


SET AREA COLOR "red" !点電荷の位置に赤丸印を表示
DRAW disk WITH SCALE(0.1)*SHIFT(a1,0)

SET AREA COLOR "green" !接地導体球の位置に緑丸印を表示
DRAW disk WITH SCALE(r)*SHIFT(0,0)


LET h=0.01 !増分

FOR x=-6 TO 6 STEP 0.5 !複素平面を走査する
FOR y=-6 TO 6 STEP 0.5
WHEN EXCEPTION IN
LET w=f(complex(x,y)) !ベクトル成分を得る ※流線
LET wx=f(complex(x+h,y)) !偏微分係数から
LET wy=f(complex(x,y+h))
LET vy=-Im(wx-w)/h !∂ψ/∂x
LET vx= Im(wy-w)/h !∂ψ/∂y

LET ww=complex(vx,vy) !成分に応じたベクトルを得る
DRAW arrow WITH ROTATE(arg(ww))*SCALE(ABS(ww)*0.7)*SHIFT(x,y) !※0.7 調整要
USE
END WHEN
NEXT y
NEXT x

PICTURE arrow !矢印を描く
PLOT LINES: 0,0; 1,0
PLOT LINES: 1,0; 0.8, 0.1
PLOT LINES: 1,0; 0.8,-0.1
END PICTURE

END

    ├!等ポテンシャルを色の濃淡で表現する 山中和義 2007/12/15 11:03:55 
    └これを利用すると流れの方向がわかるので、... 山中和義 2007/12/15 20:11:13 
     └とても数理的で良いですね。 島村1243 2007/12/15 23:15:50  (修正1回)
      └接地導体球の作画に問題が有る様 島村1243 2007/12/16 07:37:08 
       └対策案できました。 島村1243 2007/12/16 10:44:04  (修正1回)
        └ポテンシャル関数f(x,y)なら、電位分布は等... 山中和義 2007/12/16 13:56:21 
         └完璧に目的達成です! 島村1243 2007/12/16 19:04:03  (修正1回)
          └プログラムの続き 島村1243 2007/12/16 19:05:45 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。