例六 二分法迭代的應用
程式說明迭代是乙個不斷用新值取代舊值,或有舊值遞推出變數的新值的過程。#include
#include
float fun(float k)
int main()
while(fmin*fmax>0); //滿足條件則迴圈
for(;fabs(fmax-fmin)>=1e-5;) //設定終止條件
else
}printf("\n x=%5.3f \n",xmid);
return
0;}
二分迭代法的思路:
取方程函式的兩個粗解xmin,xmax,並保證f(xmin)與f(xmax)符號相反。此時,對於單調函式,其方程的解必定在[xmin,xmax]之間。
使xmid=(xmin+xmax)/2,並取xmin與xmax中函式值與f(xmid)符號相反的數與xmid組成新的含根區間。
重複2過程,直至符合條件誤差,得到精確解。
執行結果
筆記
1e-5的意思就是1乘以10的負5次冪.就是0.000001。
fabs函式是乙個求絕對值的函式,求出x的絕對值。
webots第六個示例總結
勾選上上面的兩個選項,可以看到距離感測器的視線和電機的軸線 是webots指導手冊原碼 include include include define time step 64 intmain int argc,char ar for i 0 i 2 i wbdevicetag wheels 4 ch...
第六個設計模式 模板方法
第六個設計模式之 模板方法 模板方法模式主要是對大方法體細化 一.uml示意圖 二.組成部分1.抽象構件 2.具體構件 三.例子 我用乙個簡單的例子來說明 計算食物 1.抽象構件 packagecom.eekq.template publicabstractclassabstractfood 抽象方...
神奇的PERL 第六個任務(2)
1 module 是在perl 裡可復用的基本的單元,實質為定義在乙個同名檔案 以.pm 結尾 裡面的包。例如 我們先定義mydeep 模組 mydeep.pm mydeep.pm檔案 package mydeep 包名 以下兩行令本模組繼承exporter 類,必須要有這2 行,否則無法輸出符號給...