1 . 實驗目的
(1) 通過對二分法與牛頓迭代法作程式設計練習與上機運算,進一步體會二分法與牛頓迭代法的不同特點。
(2) 編寫割線迭代法的程式,求非線性方程的解,並與牛頓迭代法作比較。
2 . 實驗內容
(1) 用牛頓法求下列方程的根:
(2) 編寫乙個割線法的程式,求解上述各方程。
3 . 實驗步驟
牛頓迭代法流程圖:
割線法:將上圖所示的牛頓法流程圖的迭代公式的替換為
並且輸入兩個初始值即可。
4 . 程式設計
(1) 牛頓法
#include
#include
#define eps 1e-7
#define eta 1e-7
//牛頓迭代法求根
float newton(float(*f)(float),float(*f1)(float),float x0) //f為原方程,f1為其導數,x0為初值
while(fabs(d)>eps&&fabs((*f)(x1))>eta); //當|x1-x0|return x1;
}float f(float x) //第2問方程
float f1(float x) //第2問方程求導
float f2(float x) //第1問方程
float f3(float x) //第1問方程求導
float f4(float x) //第3問方程
float f5(float x) //第3問方程求導
void main()
(2) 割線法
#include
#include
#define eps 1e-7
#define eta 1e-7
//割線法
float ge(float(*f)(float),float x1,float x0)
while(fabs(d)>eps&&fabs((*f)(x1))>eta);
return x1;
}float f(float x) //第一問
float f1(float x) //第二問
float f2(float x) //第三問
void main()
牛頓法和割線法
本程式基於.平台,編譯環境是microsoft visual c 對於vc 6.0平台的修改,只須把stdafx.h換成iostream.h,然後去掉主函式裡的 using namespace std 關於計數器的設計 需要動大手術,以優化 使之簡潔 include include define e...
C語言OJ專案參考 2405 牛頓迭代法求根
description 用牛頓迭代法求根。方程為ax 3 bx 2 cx d 0 係數a,b,c,d的值一次為1,2,3,4,由主函式輸入。求x在1附近的乙個實根。求出根後由主函式輸出。結果保留兩位小數。input 係數a,b,c,d的值 output x在1附近的乙個實根 sample input...
方程求根 二分法 不動點迭代 牛頓法 弦截法
方程求根 二分法 不動點迭代 牛頓法 弦截法 1.問題概述 許多複雜的求解問題,都可以轉換成方程f x 0的求解問題。這一系列的解叫做方程的根。對於非線性方程的求解,在自變數範圍內往往有多個解,我們將此變化區域分為多個小的子區間,對每個區間進行分別求解。我們在求解過程中,選取乙個近似值或者近似區間,...