next up previous
Next: 3.7 �考: Newton 法�原� Up: 3 方程��数値解法 Previous: 3.5 �考: 二分法 (bisection

3.6 Newton 法

論よりrun�行�����ょ�8。

newton.BAS

REM newton.BAS --- NewtonË¡¤Ç f(x)=0 ¤Î¶á»÷²ò¤òµá¤á¤ë
REM ¿·x=x+¦¤x, ¦¤x=-f(x)/f'(x) ¤È¤¤¤¦Á²²½¼°¤Ç¶á»÷²ò¹¹¿·
REM Ãí°Õ¡ª 1000·å¥â¡¼¥É¤Ë¤·¤Æ¤âĶ±Û´Ø¿ô¤Ï17·å
REM Ķ±Û´Ø¿ô¤ò»È¤ï¤Ê¤±¤ì¤Ð 1000 ·å¥â¡¼¥É¤Ç¹âÀºÅ٤ζá»÷Ãͤ¬µá¤á¤é¤ì¤ë
REM ¤½¤Î¾ì¹ç¤Ï PRINT USING ¤Î½ñ¼°Åù¤òŬÅö¤Ëľ¤¹
REM OPTION ARITHMETIC DECIMAL_HIGH
OPTION ARITHMETIC NATIVE
REM ---------------------------------------------------------------
REM ²ò¤­¤¿¤¤ÊýÄø¼° f(x)=0 ¤Îº¸ÊÕ f(x) ¤ÎÄêµÁ
FUNCTION F(x)
   LET F=COS(X)-X
   REM LET F=x^2-2
END FUNCTION
REM f'(x)¤ÎÄêµÁ
FUNCTION dfdx(x)
   LET DFDX=-SIN(x)-1
   REM dfdx=2*x
END FUNCTION
REM ---------------------------------------------------------------
INPUT PROMPT "½é´üÃÍ¡¢Í×µáÀºÅÙ(1e-14¤Ê¤É)=": X,EPS
REM NewtonË¡¤ò¼Â¹Ô
LET MAXITR=100
FOR i=1 TO MAXITR
   LET dx=-f(x)/dfdx(x)
   LET x=x+dx
   PRINT USING "f(--%.################)=---%.##^^^^": x, f(x)
   IF ABS(dx)<EPS THEN
      PRINT USING "¦¤x=---%.##^^^^":dx
      STOP
   END IF
NEXT I
PRINT "½¤ÀµÎÌ |¦¤x| ¤Ï½½Ê¬¾®¤µ¤¯¤Ê¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£" 
END

実行�る��「�期値��求精度�を尋���る��� 例�� 1,1e-14 �答���。

newton.TXT

½é´üÃÍ¡¢Í×µáÀºÅÙ(1e-14¤Ê¤É)=1,1e-14
f(  0.7503638678402439)=  -1.89E-02
f(  0.7391128909113617)=  -4.65E-05
f(  0.7390851333852840)=  -2.85E-10
f(  0.7390851332151607)=   0.00E+00
f(  0.7390851332151607)=   0.00E+00
¦¤x=   0.00E+00


next up previous
Next: 3.7 �考: Newton 法�原� Up: 3 方程��数値解法 Previous: 3.5 �考: 二分法 (bisection
桂田 ��
2012-05-16