牛頓法(I)

程式編寫日期: 2008年1月11日

注意: E是按 EXP。

第一個程式 (最少 51 bytes)

ClrMemory: ?→M: Lbl 0: C→A: M3 - 2M - 1→C:

B=0→B: Ans => E - 7 M+ => Goto 0:

E - 7 + A ÷( E7(C - A M-: M◢ Goto 0

 

第二個程式 (最少 60 bytes)

ClrMemory: ?→M: Lbl 0: C→A: M3 - 2M - 1→C:

B=0→B: Ans => E - 7 (M + (M=0→X:

Ans => XM+ => Goto 0:

X + AX ÷ (C - A M-: M◢ Goto 0

 

註1: 綠色的M3 - 2M - 1是函數方程(變數是M),若果想計算其它方程,只要修改綠色的部份。

註2: 若果想保留一些記憶用作儲存臨時數據,可將程式中"ClrMemory"改為"B→0",第一個程式所使用的記憶為A,B,C及M,第二個程式所使用的記憶為A,B,C,X及M。

註3:本程式是用近似值的方法去計微分值,所以與真正的牛頓法會有小小分別。

註4: 第一個程式的△x = 10-7,而第二個程式使用變動形式的△x,因此適應能力較強,而△x的決定方法為(i) 當x≠0時,△x= (10-7) x,(ii) 當x=0時,△x= 10-7

 

例題: 用牛頓法計算方程式 x3 – 2x – 1 = 0 的其中一個根,以1為開始的數值 。 

第一個程式按法:

按 Prog 1  再按 1 EXE (顯示第1個近似值為3)

EXE (顯示第2個近似值為2.2)

EXE (顯示第3個近似值為1.780830671)

EXE (顯示第4個近似值為1.636303212)

EXE (顯示第5個近似值為1.61830458)

EXE (顯示第6個近似值為1.618034049)

………

第二個程式按法:

按 Prog 1  再按 1 EXE (顯示第1個近似值為3)

EXE (顯示第2個近似值為2.2)

EXE (顯示第3個近似值為1.780830717)

EXE (顯示第4個近似值為1.636303226)

EXE (顯示第5個近似值為1.618304581)

EXE (顯示第6個近似值為1.618034049)

………

 

返回 CASIO fx-50FH 及 fx-50F PLUS 程式集

Free Web Hosting