導航:首頁 > 編程語言 > 牛頓迭代法c代碼

牛頓迭代法c代碼

發布時間:2023-08-12 20:11:33

㈠ 牛頓迭代法的C語言代碼

doublefunc(doublex)//函數{returnx*x*x*x-3*x*x*x+1.5*x*x-4.0;}doublefunc1(doublex)//導函數{return4*x*x*x-9*x*x+3*x;}intNewton(double*x,doubleprecision,intmaxcyc)//迭代次數{doublex1,x0;intk;x0=*x;for(k=0;k<maxcyc;k++){if(func1(x0)==0.0)//若通過初值,函數返回值為{printf(迭代過程中導數為0! );return0;}x1=x0-func(x0)/func1(x0);//進行牛頓迭代計算if(fabs(x1-x0)<precision||fabs(func(x1))<precision)//達到結束條件{*x=x1;//返回結果return1;}else//未達到結束條件x0=x1;//准備下一次迭代}printf(迭代次數超過預期! );//迭代次數達到,仍沒有達到精度return0;}intmain(){doublex,precision;intmaxcyc;printf(輸入初始迭代值x0:);scanf(%lf,&x);printf(輸入最大迭代次數:);scanf(%d,&maxcyc);printf(迭代要求的精度:);scanf(%lf,&precision);if(Newton(&x,precision,maxcyc)==1)//若函數返回值為1printf(該值附近的根為:%lf ,x);else//若函數返回值為0printf(迭代失敗! );getch();return0;}

㈡ C語言程序設計 迭代法

給你一點提示。
牛頓迭代法要計算
(1)
y1=f(x)

x
的函數值
(2)
d1=f(x)
的一階導數

x
的值
你可以寫兩個函數,分別計算y1,d1
如果一階導數有解析解,則可用賦值語句,否則要寫數值解子程序。
步驟:
設解的精度,例
float
eps=0.000001;
設x初值,x1;
算y1=f(x1);
迭代循環開始
算一階導數

x1
的值
d1
用牛頓公式
算出
x2;
[x2
=
x1
-
y1
/
d1]
如果
fabs(x2-x1)
>
eps
則從新迭代
--
用新的函數值和一階導數值推下一個
新x.

閱讀全文

與牛頓迭代法c代碼相關的資料

熱點內容
修改了配置文件代碼沒有讀出來 瀏覽:749
vss資料庫是什麼 瀏覽:899
奇跡13單機系統找不到指定文件 瀏覽:719
flyme魅藍3以前的版本 瀏覽:318
安卓文件管理哪些文件夾可以刪除 瀏覽:290
安卓車載導航沒有聲音是怎麼回事 瀏覽:810
cjson數組格式 瀏覽:159
vb文件在哪裡 瀏覽:215
工廠里都招什麼編程人員 瀏覽:932
jspsql登錄 瀏覽:981
網路用語粉絲閱讀什麼意思 瀏覽:333
紅頭文件怎麼列印 瀏覽:94
熱血江湖130刺客升級 瀏覽:106
jsp頁面放大鏡技術介紹 瀏覽:101
網路編程udp 瀏覽:148
加密壓縮文件如何打開 瀏覽:56
微軟編程軟體有哪些 瀏覽:736
linux目錄中創建文件夾許可權設置密碼 瀏覽:759
word文檔正式文件模版 瀏覽:247
linux文件系統的類型是 瀏覽:111

友情鏈接