y= SIN(x) の線積分

 投稿者:SECOND  投稿日:2012年 5月11日(金)00時30分29秒
  ! y=SIN(x) の線積分 L=∫√{1+(dy/dx)^2}dx =∫√(1+cos(x)^2)dx
!
! 解かないまま、その積分曲線を、ルンゲクッタ4で、描く。
!
!     L =∫√(1+cos(x)^2) dx
!  dL/dx=  √(1+cos(x)^2)
!-------------------------------
SET TEXT background "opaque"
SET COLOR MIX(15) .4,.4,.4

SUB Diff( dL,x)
   LET dL=SQR(1+COS(x)^2)         !dL: (dL/dx) ※この部分を、COS(x), 2*x などに換えると、
END SUB                           !               その積分 SIN(x), x^2 の曲線が、描ける。

SUB RungeKutta
   CALL Diff( dL1,x)
   CALL Diff( dL2,x+dx/2)
   CALL Diff( dL3,x+dx/2)
   CALL Diff( dL4,x+dx)
   LET  L=L+(dL1 +2*dL2 +2*dL3 +dL4)*dx/6
END SUB

SET WINDOW -2.3, 7, -2, 9
DRAW grid( PI/2, 1)
PLOT TEXT,AT 1.7, 8.5:"    L=∫√(1+cos(x)^2) dx"
PLOT TEXT,AT 1.7, 8.0:"dL/dx=  √(1+cos(x)^2)"
!----
LET L=0                           !出力初期値 (上下に平行移動。積分定数の調整)
LET dx=PI/(pixelx(PI)-pixelx(0))  !計算 間隔
FOR x=0 TO 2*PI STEP dx           !計算 範囲
   PLOT LINES: x,L;
   CALL RungeKutta
NEXT x

END
 

戻る