#include stdio.h
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、達(dá)日ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的達(dá)日網(wǎng)站制作公司
#include math.h
double fun_math(double);
int main(void)
{
/*? 根據(jù)函數(shù)可知Y是關(guān)于x的一個(gè)遞增函數(shù) */
/*? 先判斷輸入Y時(shí),X在(0,1)時(shí)是否有解 */
double Y;
double X=0 ,big_x=1.0,small_x=0,tmp_X=1;
unsigned int tmp=0;
printf("Please enter Y:");
scanf("%lf",Y);
if(fun_math(1) = Y fun_math(0) = Y)
{
while(tmp_X != X)
{
X =(big_x + small_x)/2;
if(fun_math(X)==Y) break;
if(fun_math(X)Y) big_x = X;
else small_x = X;
tmp_X = X ;
X =(big_x + small_x)/2;
}
printf("X = %.6lf",X);
}
else printf("while Y=%lf, X(0,1) on results\n",Y);
return 0;
}
#includestdio.h
#includemath.h
typedef double(*fun)(double xx);//函數(shù)指針
#define e 0.000001 //誤差
void eff(double a,double b,fun hs)//二分法
{int i=0;
while(fabs(hs(a)-hs(b))efabs(a-b)e){i++;
if(hs(a)*hs((b+a)/2)0){
a=(a+b)/2;
printf("迭代第%d次:\t%f\n",i,a);
}
else {
b=(a+b)/2;
printf("迭代第%d次:\t%f\n",i,b);
}
}
}
double hs1(double xx)//函數(shù)f(x)=x^3+x^2-3x-3
{return xx*xx*xx+xx*xx-3*xx-3;}
double hs2(double xx)//函數(shù)f(x)=lnx+x
{return log(xx)+xx;}
void main()
{
printf("用二分法求方程x^3+x^2-3x-3=0在1.5附近的根\n");
eff(1.0,2.0,hs1);
printf("用二分法求方程lnx+x在0.5附近的根\n");
eff(0.0,1.0,hs2);
}
1、打開Python開發(fā)工具IDLE,新建‘search.py’。
2、F5運(yùn)行程序,list1被正確排序,寫這個(gè)的目的是說明二分法查找必須前提是一個(gè)有序的列表,如果一開始無序首先要排序,當(dāng)數(shù)據(jù)量大的時(shí)候,快速排序是一個(gè)很好的選擇,再進(jìn)行二分法查找。
3、用遞歸的思想,遞歸就一定有結(jié)束條件。
4、if len(li)==1: ? #li長度等于1,只比較這個(gè)列表元素與要查找到值return li[0]==item。
5、if len(li)==0: #li長度等于0,全部查找結(jié)束還是沒有這個(gè)值? return False。
6、為程序添加main方法。
7、F5運(yùn)行程序,正確打印出二分法查找結(jié)果,F(xiàn)alse True。
已知y=f(x)函數(shù)的零點(diǎn)就是f(x)=0的根。
函數(shù)零點(diǎn)的求法:
1,可以利用二分法求近似解。給定精確度ξ,用二分法求函數(shù)f(x)零點(diǎn)近似值的步驟如下:
1 確定區(qū)間[a,b],驗(yàn)證f(a)·f(b)0,給定精確度ξ.
2 求區(qū)間(a,b)的中點(diǎn)c.
3 計(jì)算f(c).
(1) 若f(c)=0,則c就是函數(shù)的零點(diǎn);
(2) 若f(a)·f(c)0,則令b=c;
(3) 若f(c)·f(b)0,則令a=c.
(4) 判斷是否達(dá)到精確度ξ:即若|a-b|ξ,則得到零點(diǎn)近似值a(或b),否則重復(fù)2-4.
2、利用圖像法求零點(diǎn)。①、一般步驟:令f(x)=0,解f(x)=0,找圖像與X軸的交點(diǎn);
②、圖像法:把函數(shù)圖像畫出來,找兩個(gè)函數(shù)圖像的交點(diǎn)。