一為搜索法程序說明

一為搜索法程序說明

ID:42524791

大?。?72.82 KB

頁數(shù):10頁

時間:2019-09-16

一為搜索法程序說明_第1頁
一為搜索法程序說明_第2頁
一為搜索法程序說明_第3頁
一為搜索法程序說明_第4頁
一為搜索法程序說明_第5頁
資源描述:

《一為搜索法程序說明》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、一維搜索方法求極小點(diǎn)的程序說明一、程序編寫的基本思想打開VC++6.0,文件——新建——文件一一C卄SourceFile——輸入文件名——創(chuàng)建一個簡單的程序。在所建立的程序下編寫所需要的程序,用switch分別將牛頓法、黃金分割法、二次插值法(拋物線法)編寫程序計算函數(shù)函數(shù)f(x)=sinx的極小點(diǎn)x*,迭代次數(shù),以及每次迭代時近似極小點(diǎn)。各種一維搜索方法的具體過程(1)用switch語句選擇搜索方法while(l){switch(getchar()){case'A':{牛頓法};break;case'B':{黃金

2、分割法};break;case'C':{二次插值法};break;casevDf:jieshu=l;break;}(2)各種方法流程圖A、牛頓法:①牛頓法流程圖:結(jié)束B、黃金分割法①黃金分割法程序框圖:結(jié)束C.二次插值法:①二次差值法流程圖:①根據(jù)流程圖編寫程序://shejixpp:Definestheentrypointfortheconsoleapplication.//includeMstdafx.hH#include#include#definef(x)sin(x)//宏

3、定義函數(shù)g(x)=sinxvoidmain()floatr,e=0?00001,min;〃定義初始變量while(l){printf(n選擇方法:A牛頓法,B黃金分割法,C二次插值法D,結(jié)束「);intjieshu=0;switch(getchar())floatdl,d2,d,fl,f2,h;intp=l;printfC*輸入初始值j;scanf(M%r&dl);//^j入初始區(qū)間fl二cos(dl);/////////////////////////////////////改公式,求公式的導(dǎo)數(shù)f2=-s

4、in(dl);d2=dl-(fl/f2);while(fabs(dl-d2)>=e){P++;dl=d2;fl=cos(dl);f2=-sin(dl);d2=dl-(fl/f2);r=d2;printf(n%hn,r);//////^出極小點(diǎn)}r=d2;min=f(r);printfC迭代次數(shù)=%dH,p);///輸出迭代次數(shù)printf("函數(shù)的極小點(diǎn)二%fH?r);////僦出極小點(diǎn)printf(n極小值min=%f”,min);////////〃瀚出極小值};break;//continue;ca

5、se'B*:{floatal,a2,yl,y2,k;floata,b;inti=l;printfL輸入初始搜索區(qū)間[a,b]H);scanf(M%f%&b);/隔入初始區(qū)間e=0.00001;al=b-0.618*(b-a);a2=a+0.618*(b-a);yl=f(al);y2=f(a2);while((fabs((b-a)/b)>e&&fabs((y2-yl)/y2)>e))i=i+l;if(yl>=y2)a=al;al=a2;yi=y2;a2=a+0.618*(b-a);y2=sin(a2);}else

6、{b=a2;a2=al;y2=yi;al=b-0.618*(b-a);yl=sin(al);}r=a;printf(H%foi,r);/////瀚出極小點(diǎn)a=(a+b)/2;r=a;min=f(r);printf(n^代次數(shù)=%d”,i);〃觸出迭代次數(shù)printf(n函數(shù)的極小點(diǎn)二%fn,r);//////^g出極小點(diǎn)printf(n極小值min=%fM?min);////////////^出極小值};break;//continue;case'C*:floatml,m2,m3;//////////

7、////////////////////////////////////取值范圍floatw=1;floathl,h2,h3,h,cl,c2,m;intn=0;print"輸入初始搜索區(qū)間[ml,m3]iT);scanf(n%f%fn,&ml,&m3);/隔入初始區(qū)間m2=(ml+m3)/2;don++;hl=f(ml);h2=f(m2);h3=f(m3);cl=(h3-hl)/(m3-ml);c2=((h2-hl)/(m2-ml)-cl)/(m2-m3);m=(ml+m3?cl/c2)/2;h=f(m);if(

8、(m?m2)*v>0){if(h2>=h){ml=m2;hl=h2;m2=m;h2=h;}else{m3=m;h3=h;}elseif(h2>=h)m3=m2;h3=h2;m2=m;h2=h;}else{ml=m;hl=h;printf(H%AnH,r);///////輸出極小點(diǎn)}while(fabs(m3-ml)>=e);r=m;min=f(r);pri

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。