新しく発言する  EXIT  インデックスへ

数値微分式


  数値微分式 しばっち 2008/03/19 21:46:52 
数値微分式  返事を書く  ノートメニュー
しばっち <dihjvcfsyu> 2008/03/19 21:46:52
LET MAXLEVEL=19
DIM L(MAXLEVEL),M(MAXLEVEL)
FOR N=3 TO MAXLEVEL STEP 2
FOR I=1 TO N
LET H=1
FOR J=1 TO N
IF I<>J THEN LET H=H*(I-J)
NEXT J
LET L(I)=H
NEXT I
!'FOR P=1 TO N
LET P=INT(N/2+1) !'中央差分式
FOR K=1 TO N
LET S=0
FOR I=1 TO N
LET H=1
FOR J=1 TO N
IF K<>J AND I<>J AND K<>I THEN
LET H=H*(P-J)
LET FL=1
END IF
NEXT J
IF FL=1 THEN
LET S=S+H
LET FL=0
END IF
NEXT I
LET M(K)=S
NEXT K
PRINT "F'(X)=";
FOR I=1 TO N
LET GM=GCD(M(I),L(I))
LET M(I)=M(I)/GM
LET L(I)=L(I)/GM
NEXT I
LET LM=L(1)
FOR I=2 TO N
LET LM=LCM(LM,L(I))
NEXT I
FOR I=1 TO N
LET B=LM/L(I)
LET M(I)=M(I)*B
LET L(I)=L(I)*B
NEXT I
PRINT "(";
FOR I=1 TO N
IF M(I)*L(I)<0 THEN PRINT "-"; ELSE PRINT "+";
PRINT STR$(ABS(M(I)));"*F(X";
IF (P-I)<0 THEN PRINT "+"; ELSE PRINT "-";
PRINT STR$(ABS(P-I));"*H)";
NEXT I
PRINT ")/(";STR$(ABS(L(1)));"*H)"
!'NEXT P
NEXT N
END

EXTERNAL FUNCTION LCM(M,N)
LET LCM=M*N/GCD(M,N)
END FUNCTION

EXTERNAL FUNCTION GCD(M,N)
DO WHILE N<>0
LET T=MOD(M,N)
LET M=N
LET N=T
LOOP
LET GCD=M
END FUNCTION
  どのように使うのですか 島村1243 2008/03/20 10:01:11 
  │└返事 しばっち 2008/03/20 13:22:28 
  │ └有難うございます。 島村1243 2008/03/21 22:18:20 
  │  └!Richardsonの補外法(extrapolation) 山中和義 2008/03/22 13:40:09 
  │   └こんなに短いコードで 島村1243 2008/03/22 17:14:23 
  可変精度数値微分 しばっち 2008/03/20 21:07:22  (修正1回)
  │├F=X^2を試したら 島村1243 2008/03/22 10:23:28  (修正1回)
  ││└ご指摘ありがとうございます。こちらのミス... しばっち 2008/03/22 14:59:11 
  ││ └完璧でした。 島村1243 2008/03/22 16:36:45 
  │└可変精度高階数値微分 しばっち 2008/03/23 09:54:12 
  高階数値微分式 しばっち 2008/03/22 17:21:13 

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