弦截法的基本思路

2021-06-18 05:38:07 字數 450 閱讀 3684

1). 對於乙個曲線方程,任意的取2個點,a(a,f(a)).  b(b,f(b))  如果f(a)*f(b)<0 就可以繼續。

2).求出連線a和b的直線方程,並可求出它與x軸的交點,x= a-f(a)*(b-a)/(f(b)-f(a))

如果f(x)與f(a)同號則使 a點成為(x,f(x));

如果f(x)與f(b)同號則使b點成為 (x,f(x)).

3).   然後再次對a點b點使用弦截法,重複步驟2,然後再對ab弦截。。。。。直到誤差在可接受的範圍為止。

4). 誤差的值即為f(x)與0的差;誤差可接受後x即為最後所求的解。

採用c程式設計時,如果用

x= a-f(a)*(b-a)/(f(b)-f(a)) 求x的值,會得不出想要的結果,但是把等式化為x=(a*f(b)-b*f(a))/(f(b)-f(a)) 就可以了,筆者暫時還不知道其中的原因是什麼,等待乙個答案中。。

python unittest基本思路

unittest是python中的單元測試框架,但也可以作為selenium自動化測試框架。基本思路主要分為以下三步 1.設計測試用例,注意點主要是要包含測試類和測試方法 class unittest class unittest.testcase 必須包含unittest模組下的testcase類...

快速排序基本思路

尊重原創,原文鏈結 今天看到大神寫的一篇快速排序的部落格,肅然起敬,覺得原來快速排序這麼簡單 下面進行簡單的試試 快速排序的基本思想是 1 先從數列中取出乙個數作為基準數 2 分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊 3 再對左右區間重複第二步,直到各區間只有乙個數...

堆排序基本思路

前提 1 不建立新的空間,只在當前帶排序陣列arr中做處理 2 公升序,大頂堆。思路 1 首先建立大頂堆。建立大頂堆的過程 heapinsert 是自下而上不斷調整新加入元素的位置 2 交換首次建立好大頂堆的首尾元素 最大元素沉底,這也是為什麼利用大頂堆做公升序 同時用於重建大頂堆的arr尺寸減1 ...