Professional Documents
Culture Documents
第二次作業
Secant Method
課本第 113 頁,問題(3.7)(c)
組別: 第六組
學生: 陳器奇、謝鎮宇
學號:9301062a、9301035a
程式碼(使用 C++語言):
#include <stdio.h>
#include <math.h>
程式說明:
欲解方程式:−x3 + x + 1 = 0
Secant Method 解法方程式如下圖(圖 1)所式:
(圖 1)
Secant Method 持續執行直到以下兩個條件其中之一發生:
1. | xn + 1 − xn | < e
2. n > m
說明(6):輸入第一個和第二個起始猜測值 x0 及 x1。
說明(7):輸入最大疊代數目。
說明(8):輸入最小容忍值。
程式執行結果及討論:
1.358922558922559, -0.150559671163600
1.320488768042503, 0.017964933592940
1.324585858208551, 0.000563284561564
1.324718479412076, -0.000002226853110
1.324718479412076
1.100300953737658, 0.768208192751298
1.100601595747396, 0.767416608639056
1.392064837568101, -0.305540368252373
1.309066368705039, 0.065778557861840
1.323769415607835, 0.004041607148503
1.324731950018435, -0.000059674822552
1.324717944868202, 0.000000052781416
1.324717944868202
1.497761334828597, -0.862150216342966
1.267734989017586, 0.230292162931523
1.316225660665854, 0.035930528277030
1.325189854921204, -0.002013355502200
1.324714202246012, 0.000016013635477
1.324714202246012
結論一 :從實驗(1)(2)(3),可得出一個可能趨勢,當固定最大疊代數及最小容忍值,起始
猜測值 x0 及 x1 的相隔區間越大時,f(x)的值越趨近零,也就是說 xn(解)精確度越高。
1.358922558922559, -0.150559671163600
1.320488768042503, 0.017964933592940
1.320488768042503
(5) 容忍值:0.000002
1.358922558922559, -0.150559671163600
1.320488768042503, 0.017964933592940
1.324585858208551, 0.000563284561564
1.324718479412076, -0.000002226853110
1.324718479412076
(5) 容忍值:0.00000000000001
1.358922558922559, -0.150559671163600
1.320488768042503, 0.017964933592940
1.324585858208551, 0.000563284561564
1.324718479412076, -0.000002226853110
1.324717957180461, 0.000000000274153
1.324717957244746, -0.000000000000000
1.324717957244746
由結論一及結論二可得出一個表格:
我們最後可以解出 xn 大約為 1.3247
以下為 f(x)的函式圖形,與我們解出來的 xn 值非常接近相符:
~完~感謝閱讀~