|
/1 /1 /1
多重積分 | | ...| sqr(1-x*x-y*y-...)dxdy...の検証用です
/0 /0 /0
半径を1/2(R=.5)で実行してください
!' S(n+2)=V(n)*2*π*r S(n)...n次元球の表面積
!' V(n)=S(n)*r/n V(n)...n次元球の体積
!' V(n)=π^(n/2)/GAMMA(n/2+1)*r^n
LET MAXLEVEL=20
DIM S(MAXLEVEL+2),V(MAXLEVEL+2)
INPUT PROMPT "半径=":R !' 検証時 R=.5
LET S(2)=2*PI*R
LET V(2)=PI*R^2
LET S(3)=4*PI*R^2
LET V(3)=4/3*PI*R^3
FOR N=2 TO MAXLEVEL
LET S(N+2)=V(N)*2*PI*R
LET V(N+2)=S(N+2)*R/(N+2)
PRINT N;"次元球の体積";V(N) !';TAB(40);"表面積";S(N)
NEXT N
END
--- おまけ ---
有理数モードでお試しください
LET MAXLEVEL=20
DIM S(MAXLEVEL+2,3),V(MAXLEVEL+2,3)
LET S(2,1)=2
LET S(2,2)=1
LET S(2,3)=1
LET S(3,1)=4
LET S(3,2)=1
LET S(3,3)=2
LET V(2,1)=1
LET V(2,2)=1
LET V(2,3)=2
LET V(3,1)=4/3
LET V(3,2)=1
LET V(3,3)=3
FOR N=2 TO MAXLEVEL
LET S(N+2,1)=V(N,1)*2
LET S(N+2,2)=V(N,2)+1
LET S(N+2,3)=V(N,3)+1
LET V(N+2,1)=S(N+2,1)/(N+2)
LET V(N+2,2)=S(N+2,2)
LET V(N+2,3)=S(N+2,3)+1
PRINT STR$(N);"次元球の体積 ";
IF V(N,1)<>1 THEN LET A$=STR$(V(N,1)) & "*" ELSE LET A$=""
IF V(N,2)=1 THEN LET P$="π" ELSE LET P$="π^" & STR$(V(N,2))
IF V(N,3)=1 THEN LET R$="*r" ELSE LET R$="*r^" & STR$(V(N,3))
PRINT A$;P$;R$
PRINT STR$(N);"次元球の表面積 ";
IF S(N,1)<>1 THEN LET A$=STR$(S(N,1)) & "*" ELSE LET A$=""
IF S(N,2)=1 THEN LET P$="π" ELSE LET P$="π^" & STR$(S(N,2))
IF S(N,3)=1 THEN LET R$="*r" ELSE LET R$="*r^" & STR$(S(N,3))
PRINT A$;P$;R$
PRINT
NEXT N
END
--- おまけ 2---
!'n次元球の体積
!'V(n)=1/(1*3*5*7*..*N)*2^((N+1)/2)*π^((N-1)/2)*R^N ...MOD(N,2)=1
!'V(n)=1/(2*4*6*8*..*N)*2^(N/2) *π^(N/2) *R^N ...MOD(N,2)=0
LET MAXLEVEL=20
FOR N=2 TO MAXLEVEL
LET S=1
FOR I=N TO 2 STEP -2
LET S=S/I
NEXT I
PRINT N;"次元球の体積 ";STR$(S*2^((N+MOD(N,2))/2));"*π^";STR$((N-MOD(N,2))/2);"*r^";STR$(N)
PRINT N;"次元球の表面積 ";STR$(N*S*2^((N+MOD(N,2))/2));"*π^";STR$((N-MOD(N,2))/2);"*r^";STR$(N-1)
PRINT
NEXT N
END
※ 便宜上「球」「体積」「表面積」として表示しています。
※ 2次元において、球とは「円」、体積とは「面積」、表面積とは「円周」のことです。
※ 4次元以上においても、これらの表示が正しいかどうか定かではありません。
※ n次元物体の「表面積」とは、n-1次元物体のことです。
|
|