




已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
山東師范大學數學科學學院實驗報告實驗課程: 非線性方程(組)的解法 實驗項目: 非線性方程實根的加速法 姓名 郭新國 學號:200708020244 班級: 二班 專業(yè): 信計 指導教師: 朱愛玲 完成日期: 2010-6-20 實驗目的:掌握解非線性方程實根的簡單迭代法的加速法、牛頓法加速法(下山法)與重根求解方法的上機編程運算.實驗內容:問題分析和算法設計問題:1. 1. 用加權法加速技術求方程x = e-x在0.5附近的一個根 . 問題分析 : 假設g(x)=exp(-x),加權加速方法為迭代 x(k+1) = g(x(k), 修正 x(k+1) = (x(k+1)-L*x(k)/(1-L),其中L=dg/dx|(x_star),x_star = 0.5迭代4次就可以使得精度達到1e-4.主要程序代碼:#include #include #include using namespace std;int main() int k; double x,xk,L,G,err; double g(double x); double dg(double x); k = 0; xk = 0.5; L = dg(xk); G = 1 - L; err = 1; while(err 0.0001) x = g(xk); / 迭代 x = (x - L*xk) / G; / 修正 err = fabs(x - xk); xk = x; k+; cout K-th iteration: k endl; cout err= setprecision(12) err endl; cout x= setprecision(12) x endl; cout g(x)= setprecision(12) g(x) endl; return 0;double g(double x) return (exp(-x);double dg(double x) return (-exp(-x);運行結果和總結運行結果:2. 用埃特金迭代法求方程x2=x3-1在x0=1.5附近的根./* 問題2 用Aitken Method迭代法求方程x2=x3-1在x0=1.5附近的根. (根所在的區(qū)間為1,2)方程等價于 x = (x2+1)(1/3),簡單迭代法適用其上Aitken Method:x(k+3) = x(k) - (x(k+1)-x(k)2/(x(k+2)-2x(k+1)+x(k),首兩項可用簡單迭代法給出*/#include #include #include using namespace std;int main() int k; double x,xk0,xk1,xk2,err; double f(double x); k = 0; xk0 = 1.5; xk1 = f(xk0); xk2 = f(xk1); err = 1.0; while(err 0.00001) / 迭代序列 xk0,xk1,xk2,x. x = xk0 - pow(xk1 - xk0),2)/(xk2 - 2*xk1 + xk0); xk0 = xk1; xk1 = xk2; xk2 = x; err = fabs(xk2 - xk1); k+; cout K-th iteration: k endl; cout err= setprecision(12) err endl; cout x= setprecision(12) x endl; cout f(x)= setprecision(12) f(x) endl; return 0;double f(double x) return cbrt(pow(x,2) + 1.0); / cbrt 立方根函數運行結果:3. 用Steffenson算法求方程x3 x 1=0在(1,1.5)內的根 ./* 問題3 用Steffenson算法求方程x3 x 1=0在(1,1.5)內的根Steffenson Method:yk = f(x(k), zk = f(yk), x(k+1) = x(k) - (yk - x(k)2/(zk - 2yk + x(k);*/#include #include #include using namespace std;int main() int k; double x,xk,yk,zk,err; double f(double x); k = 0; xk = 1.5; yk = f(xk); zk = f(yk); err = 1.0; while(err 0.0001) / 迭代序列 xk,x. x = xk - pow(yk - xk),2)/(zk - 2*yk + xk); yk = f(x); zk = f(yk); err = fabs(x - xk); xk = x; k+; cout K-th iteration: k endl; cout err= setprecision(12) err endl; cout x= setprecision(12) x endl; cout f(x)= setprecision(12) f(x) endl; return 0;double f(double x) return (pow(x,3) - 1.0); 運算結果:4. 分別用牛頓法與牛頓加速法(下山法)法求方程在附近的一個根./* 問題4 分別用牛頓法與牛頓加速法(下山法)法求方程x3 x 1=0在1.5附近的一個根f(x) = x3 - x - 1僅考慮牛頓加速法(下山法):x(k+1) = x(k) - tk * f(x(k)/f (x(k)初值選為0.6*/#include #include #include using namespace std;int main() int k; double x,xk,fxk,t,direction,err; double f(double x); double df(double x); k = 0; xk = 0.6; err = 1.0; while(err 0.000001) / 迭代序列 xk,x. t = 1.0; fxk = f(xk); direction = fxk/df(xk); while ( true ) x = xk - t*direction; if (fabs(f(x) fabs(fxk) break; else t = t/2.0; continue; err = fabs(x - xk); xk = x; k+; / 每步迭代過程 cout K-th iteration: k endl; cout t = t endl; cout err= setprecision(12) err endl; cout x= setprecision(12) x endl; cout f(x)= setprecision(12) f(x) endl; cout endl; return 0;double f(double x) return (pow(x,3) - x - 1.0); double df(double x) return (3.0*pow(x,2) - 1.0);運算結果:5. 已知是方程的二重根,用牛頓切線法和重根修正公式求解./* 問題5. 已知x=sqrt(2)是方程f(x)=x4-4*x2+4=0 的二重根,用牛頓切線法和重根修正公式求解僅考慮重根修正公式:x(k+1) = x(k) - m*f(x(k)/f (x(k), m為根的重數*/#include #include #include using namespace std;int main() int k; double x,xk,m,err; double f(double x); double df(double x); k = 0; m = 2.0; xk = 1.5; err = 1.0; while (err 0.0001) / 迭代序列 xk,x. x = xk - m*f(xk)/df(xk); err = fabs(x - xk); xk = x; k+; cout K-th iteration: k endl; cout err= setprecision(12) err endl; cout x= setpreci
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 量化交易系統(tǒng)設計試題及答案
- 計算機二級VB考試考生指南試題及答案
- 2025年軟考設計師解答技巧試題及答案
- 行政管理學專業(yè)中的研究方法試題及答案
- 行政法學問題解析試題及答案總結
- 年度市場推廣戰(zhàn)略的制定計劃
- 財務預算工作匯報
- VB程序設計常見題庫及答案
- 【蘇州】2025年江蘇蘇州市吳中區(qū)事業(yè)單位公開招聘工作人員93人筆試歷年典型考題及考點剖析附帶答案詳解
- 2025年軟考設計師本科知識體系試題及答案
- 冷卻塔清洗合同模板
- 高層建筑火災撲救危險識別與應對
- 2024年管道燃氣客服員(初級)技能鑒定考試復習題庫(含答案)
- 2023-2024學年廣東省惠州市惠城區(qū)八年級(下)期末數學試卷(含解析)
- 專升本機構合同協(xié)議模板
- 置換合同模板
- 怎樣申請公開物業(yè)前期合同
- 教務管理系統(tǒng)調研報告
- 2024年上海市中考英語口語復習-交際應答
- 畢業(yè)論文-絞肉機的設計
- 2024年西安交通大學少年班初試數學試題真題(答案詳解)
評論
0/150
提交評論