C語言程序設計說明書_第1頁
C語言程序設計說明書_第2頁
C語言程序設計說明書_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、黃金分割法的C語言程序應用#include #include #define e 0.001 (給定收斂精度e=0.001)float f(float x)float y=pow(x,2)+2*x; (我們需要求解的目標函數(shù):)return(y);main() (主函數(shù))float a=-3,b=5; (給定初始單峰區(qū)間 a, b)float x1,x2,f1,f2,c,min;x1=a+0.382*(b-a); (在區(qū)間 a, b內(nèi)取兩個內(nèi)插點x1和x2并計算其函數(shù)值)x2=a+0.618*(b-a);f1=f(x1);f2=f(x2);printf(n %f %f,a,b); while(

2、b-a)e) (當新的b-ae=0.001時,就執(zhí)行下列這些運算)if (f1f2)(若 f1 f2 ,則取a,x2為新區(qū)間,而x1則作為新區(qū)間內(nèi)的第一個試算點,即令b=x2,x2=x1,f2=f1,而另一試算點可按x1=a+0.382*(b-a)算出)b=x2; x2=x1;x1=a+0.382*(b-a);f2=f1;f1=f(x1);else (若 f1 f2 ,則取x1,b為新區(qū)間,而x2則作為新區(qū)間內(nèi)的第一個試算點,即令a=x1,x1=x2,f1=f2,而另一試算點可按x2=a+0.618*(b-a)算出)a=x1;x1=x2;x2=a+0.618*(b-a);f1=f2;f2=f(

3、x2);printf(n %f %f,a,b); c=(a+b)/2; min=f(c);printf(n The area is %f to %f,a,b); printf(n The min is %f and the result is %f,c,min);二次插值法的C語言程序應用#include#include double f(double x) return x*x*x-3*x+2;void main(void) double a1,a2,a3,a0; double f1,f2,f3,f0; double q=0.; (給定計算精度q=0.) int k=1; a1=0; (給定

4、初始搜索區(qū)間【a1,a3】) a3=3; a2= 0.5*(a1+a3); (采用等距原則取點) f1=f(a1); (計算三點的函數(shù)值) f2=f(a2); f3=f(a3); while(1) a0=0.5*(a2*a2-a3*a3)*f1+(a3*a3-a1*a1)*f2+(a1*a1-a2*a2)*f3)/(a2-a3)*f1+(a3-a1)*f2+(a1-a2)*f3); (計算插值函數(shù)的極小點a0) f0=f(a0); (計算極小值f0) if(fabs(a0-a2)a2) (用進退法確定搜索區(qū)間) if(f0=f2) (進一步縮小區(qū)間,以得到新的單峰區(qū)間) a1=a2; a2=a0; f1=f2; f2=f0; k+; else a3=a0; f3=f0; k+; else (這里的否定是表示:如果當a0a2) if(f0=f2) a3=a2; a2=a0; f3=f2; f2=f0; k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論