小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

牛頓法──用導數(shù)方法求方程的近似解

 dwlinux_gs 2014-09-15
牛頓迭代法要計算 
(1) y1=f(x) 在 x 的函數(shù)值 
(2) d1=f'(x) 在x 的值 
你可以寫兩個函數(shù),分別計算y1,d1 
如果一階導數(shù)有解析解,則可用賦值語句,否則要寫數(shù)值解子程序。 

步驟: 
設解的精度,例 float eps=0.000001; 
設x初值,x1; 
 

迭代循環(huán)開始 
算y1 = f(x1);
算d1 = f'(x1) 
用牛頓公式 算出 x2; [x2 = x1 - y1 / d1] 
如果 fabs(x2-x1) > eps 則重新迭代 -- 用新的函數(shù)值和一階導數(shù)值推下一個 新x.

牛頓迭代法: 
#include<stdio.h> 
#include<conio.h> 
#include<math.h> 
#define MAXREPT 1000 
float f(float x) 
{return(x*exp(x)-1); 
} 
float df(float x) 
{return((x+1)*exp(x)); 
} 
float iterate(float x) 
{float x1; 
x1=x-f(x)/df(x); 
return(x1); 
} 

void main() 
{
float x0,x1,eps,d;int k=0; 
printf("\n please input x0,eps:"); 
scanf("%f,%f",&x0,&eps); 
printf("\n k xk\n"); 
printf(" %d %f\n",k,x0); 
do 
{k++; 
x1=iterate(x0); 
printf(" %d %f\n",k,x1); 
d=fabs(x1-x0); 
x0=x1; 
} 
while((d>=eps)&(k<MAXREPT)); 

if(k<MAXREPT) 
printf("the root is x=%f, k=%d\n",x1,k); 
else 
printf("\n The iteration is failed!\n"); 
getch(); 
} 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多