牛頓法

程式新版 (舊版依然保留在網頁下方)

新版程式編寫日期: 2006年1月11日

注意: 10x是按shift log。

第一個程式 (最少 48 bytes)

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

B=0→B => 10x - 7 M+ => Goto 0:

10x - 7 + A ÷ 10x7(C - A M-: M◢ Goto 0

 

第二個程式 (最少 56 bytes)

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

B=0→B =>10x - 7 (M + (M=0→X => XM+ => Goto 0:

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

 

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

註2: 若果想保留一些記憶用作儲存臨時數據,可將程式中"Mem clear"改為"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.636305633)

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

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

………

第二個程式按法:

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

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

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

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

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

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

………

 

返回 fx-3650P及SC185程式集

 

 

 

 

舊版程式

程式編寫日期: 2005年12月20日

注意: 10x是按shift log。

程式 (最少76 bytes)

Mem clear: ?→X: Lbl 0: X3 - 2X - 1→Y: 10x - 7→A:

X + A(1 - 3M→X: 1M+: M=1 => Y→B: M=2 => Y→C:

M≠3 => Goto 0: X + 6A - 2AB ÷ (C - Y→X◢ MM-: Goto 0

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

註2: 若果想保留一些記憶用作儲存臨時數據,可將程式中"Mem clear"改為"MM-",而程式所使用的記憶為A,B,C,X,Y及M。

 

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

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

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

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

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

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

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

………

 

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

 

返回 fx-3650P及SC185程式集

 

Free Web Hosting