日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc

發布時間:2024/9/27 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數值分析龍貝格實驗報告

實驗三 龍貝格方法

【實驗類型】 驗證性

【實驗學時】 2學時

【實驗內容】

1.理解龍貝格方法的基本思路

2.用龍貝格方法設計算法,編程求解一個數值積分的問題。

【實驗前的預備知識】

1.計算機基礎知識2.熟悉編程基本思想3.熟悉常見數學函數;

【實驗方法或步驟】

龍貝格方法的基本思路龍貝格方法是在積分區間逐次二分的過程中,通過對梯形之值進行加速處理,從而獲得高精度的積分值。

龍貝格方法的算法

步驟1 準備初值 和,用梯形計算公式計算出積分近似值

步驟2 按區間逐次分半計算梯形公式的積分近似值令

,計算,

步驟3 按下面的公式積分梯形公式:

辛普生公式:龍貝格公式:

步驟4 精度控制

當,(為精度)時,終止計算,并取為近似值否則將步長折半,轉步驟2。

[實驗程序]

#include

#include

# define Precision 0.00001//積分精度要求

# define e 2#define MAXRepeat 10 //最大允許重復

double function(double x)//被積函數

{

double s;

s=2*pow(e,-x)/sqrt(3.1415926);

return s;

}

double Romberg(double a,double b,double f(double x))

{

int m,n,k;

double y[MAXRepeat],h,ep,p,xk,s,q;

h=b-a;

y[0]=h*(f(a)+f(b))/2.0;//計算T`1`(h)=1/2(b-a)(f(a)+f(b));

m=1;

n=1;

ep=Precision+1;

while((ep>=Precision)&&(m

{

p=0.0;

for(k=0;k

{

xk=a+(k+0.5)*h; // n-1

p=p+f(xk); //計算∑f(xk+h/2),T

} // k=0

p=(y[0]+h*p)/2.0; //T`m`(h/2),變步長梯形求積公式

s=1.0;

for(k=1;k<=m;k++)

{

s=4.0*s;// pow(4,m)

q=(s*p-y[k-1])/(s-1.0);//[pow(4,m)T`m`(h/2)-T`m`(h)]/[pow(4,m)-1],2m階牛頓柯斯特公式,即龍貝格公式

y[k-1]=p;

p=q;

}

ep=fabs(q-y[m-1]);//前后兩步計算結果比較求精度

m=m+1;

y[m-1]=q;

n=n+n; // 2 4 8 16

h=h/2.0;//二倍分割區間

}

return q;

}

main()

{

double a,b,Result;

cout<

cin>>a;

cout<

cin>>b;

Result=Romberg( a, b, function);

cout<

return 0;

}

總結

以上是生活随笔為你收集整理的龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。