最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数值计算方法 实验报告4

来源:动视网 责编:小OO 时间:2025-09-23 06:29:31
文档

数值计算方法 实验报告4

实验四数值微积分实验学院:数学与计算机科学学院专业:数学与应用数学学号:姓名:一.实验目的1利用复化求积公式计算定积分,并比较误差;2比较一阶导数和二阶导数的数值方法,并绘图观察特点.二.实验题目用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为,并将计算结果与精度解进行比较:.利用等距节点的函数值和端点的导数值,用不同的方法求下列函数的一阶和二阶导数,分析各种方法的有效性,并用绘图软件绘出函数的图形,观察其特点.,,三.实验原理1复化梯形公式将积分区间剖分为等分,分点为,
推荐度:
导读实验四数值微积分实验学院:数学与计算机科学学院专业:数学与应用数学学号:姓名:一.实验目的1利用复化求积公式计算定积分,并比较误差;2比较一阶导数和二阶导数的数值方法,并绘图观察特点.二.实验题目用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为,并将计算结果与精度解进行比较:.利用等距节点的函数值和端点的导数值,用不同的方法求下列函数的一阶和二阶导数,分析各种方法的有效性,并用绘图软件绘出函数的图形,观察其特点.,,三.实验原理1复化梯形公式将积分区间剖分为等分,分点为,
实验四  数值微积分实验

学院:数学与计算机科学学院              专业:数学与应用数学

学号:                     姓名:

一.实验目的

1利用复化求积公式计算定积分,并比较误差;

2比较一阶导数和二阶导数的数值方法,并绘图观察特点.

二.实验题目

用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为,并将计算结果与精度解进行比较:

   .

利用等距节点的函数值和端点的导数值,用不同的方法求下列函数的一阶和二阶导数,分析各种方法的有效性,并用绘图软件绘出函数的图形,观察其特点.

,  , 

三.实验原理

1复化梯形公式

将积分区间剖分为等分,分点为,其中.在每个区间上用梯形公式,则有

            

            .

记.

2复化辛普森公式

将积分区间剖分为等分,分点为,其中.记区间的中点为,在每个区间上用辛普森公式,则得到所谓的复化辛普森公式:

.

3龙贝格公式的算法步骤为:

.输入及精度;

.置;

. 置,对分区间,并计算:

,;

.若不满足终止条件,做循环:

         ,

计算,

对计算:.

4向前差商公式:;

向后差商公式:;

中心差商公式:;

二阶导数公式:.

四.实验内容

实验一

第一小题:对于方程,利用程序shiyan1_01.m

内容如下:

%第一个函数的实验

clear

clc

fun=inline('(2/3)*x.^3.*exp(x.^2)');

S1=matrap(fun,1,2,170000);

S2=masimp(fun,1,2,250);

S3=maromb(fun,1,2,.5e-8);

s=exp(4);

Er1=abs(S1-s)

Er2=abs(S2-s)

Er3=abs(S3-s)

第二小题:对于方程,利用程序shiyan1_02.m

内容如下:

%第二个函数的实验

clear

clc

fun=inline('2*x./(x.^2-3)');

S1=matrap(fun,2,3,15000);

S2=masimp(fun,2,3,100);

S3=maromb(fun,2,3,.5e-8);

s=log(6);

Er1=abs(S1-s)

Er2=abs(S2-s)

Er3=abs(S3-s)

实验二

第一小题:对于方程,利用程序shiyan2_01.m

内容如下:

clear

clc

fun=inline('x.^5/20-(11./6)*x.^3');

dfun=inline('x.^4/4-(11./2)*x.^2');

ddfun=inline('x.^3-11*x');

n=8;h=2/n;

x=0:h:2;x1=x(2:n);

y=feval(fun,x);

dy=feval(dfun,x1);

ddy=feval(ddfun,x1);

for i=2:n

    dy1(i)=(y(i+1)-y(i))/h;

    dy2(i)=(y(i)-y(i-1))/h;

    dy3(i)=(y(i+1)-y(i-1))/(2*h);

    ddy1(i)=(y(i+1)-2*y(i)+y(i-1))/(h*h);

end

for i=1:n-1

    err1(i)=abs(dy1(i)-dy(i));

    err2(i)=abs(dy2(i)-dy(i));

    err3(i)=abs(dy3(i)-dy(i));

    errd2(i)=abs(ddy1(i)-ddy(i));  

end

[err1' err2' err3' errd2']

plot(x,y,'r')

hold on

plot(x1,dy,'y')

plot(x1,ddy,'k')

第二小题:对于方程,利用程序shiyan2_02.m

内容如下:

clear

clc

fun=inline('exp(-1./x)');

dfun=inline('(-1./x).*exp(-1./x)');

ddfun=inline('(-1./(x.^2)).*exp(-1./x)+1./(x.^2)');

n=8;h=2/n;

x=-2.5:h:-0.5;x1=x(2:n);

y=feval(fun,x);

dy=feval(dfun,x1);

ddy=feval(ddfun,x1);

for i=2:n

    dy1(i)=(y(i+1)-y(i))/h;

    dy2(i)=(y(i)-y(i-1))/h;

    dy3(i)=(y(i+1)-y(i-1))/(2*h);

    ddy1(i)=(y(i+1)-2*y(i)+y(i-1))/(h*h);

end

for i=1:n-1

    err1(i)=abs(dy1(i)-dy(i));

    err2(i)=abs(dy2(i)-dy(i));

    err3(i)=abs(dy3(i)-dy(i));

    errd2(i)=abs(ddy1(i)-ddy(i));  

end

[err1' err2' err3' errd2']

plot(x,y,'r')

hold on

plot(x1,dy,'y')

plot(x1,ddy,'')

五.实验结果

实验一

第一小题

T =

  146.5012        0         0          0          0          0          0           0

   83.9243   63.0653       0          0          0          0          0           0

   62.6132   55.5095   55.0058       0          0          0          0           0

   56.6535   54.6669   54.6108   54.6045       0          0          0           0

   55.1154   54.6027   54.5984   54.5982   54.5982       0          0           0

   54.7277   54.5984   54.5982   54.5982   54.5982   54.5982       0           0

   54.6305   54.5982   54.5982   54.5982   54.5982   54.5982   54.5982        0

   54.6062   54.5982   54.5982   54.5982   54.5982   54.5982   54.5982   54.5982

Er1 =

  4.5922e-009

Er2 =

  4.8409e-009

Er3 =

  1.4211e-014

第二小题

T =

    2.5000        0         0          0          0          0          0           0

    2.0192    1.8590       0          0          0          0          0           0

    1.85    1.8022    1.7984       0          0          0          0           0

    1.8088    1.7929    1.7922    1.7921       0          0          0           0

    1.7961    1.7918    1.7918    1.7918    1.7918       0          0           0

    1.7928    1.7918    1.7918    1.7918    1.7918    1.7918       0           0

    1.7920    1.7918    1.7918    1.7918    1.7918    1.7918    1.7918        0

    1.7918    1.7918    1.7918    1.7918    1.7918    1.7918    1.7918    1.7918

Er1 =

  4.9383e-009

Er2 =

  4.0302e-009

Er3 =

  1.0132e-012

实验二

第一小题

ans =

    0.2196    0.2196    0.2196    2.1920

    0.3627    0.8003    0.5815    2.1480

    0.5711    1.4367    1.0039    2.0560

    0.7667    2.0411    1.4039    1.9160

    0.9447    2.5991    1.7719    1.7280

    1.1003    3.0963    2.0983    1.4920

    1.2287    3.5183    2.3735    1.2080

    1.3251    3.8507    2.5879    0.8760

1.3847    4.0791    2.7319    0.4960

第二小题

ans =

    0.6932    0.6932    0.6932    0.1105

    0.4680    0.5532    0.5106    0.5030

    0.5236    0.6555    0.55    0.7793

    0.5907    0.8102    0.7005    1.2991

    0.6692    1.0727    0.8709    2.3982

    0.7473    1.6071    1.1772    5.1572

0.7567    3.0873    1.9220   14.2888

六.实验结果分析

1.利用复化辛普森公式比利用复化梯形公式,所取的更小,当达到相同精度时,利用辛普森公式等分次数更小,减少计算次数.

2.若利用同一公式,所取的大小与题设给出的精度之间的关系:当越大时,与精度之间的误差越小;反之,当越小时,与精度之间的误差越大。

3.龙贝格公式,是通过适当的线性组合,把复化梯形公式的近似值组合成更高精度的积分近似值.

七.附件

1 复化梯形公式程序:

%matrap.m

function s=matrap(fun,a,b,n)

%通途:用复化梯形公式求积分。

%格式:s=matrap(fun,a,b,n)  fun为被积函数,a,b为积分区间的左右端点,

% n为区间的等分数,s返回数值积分值

h=(b-a)/n;

s=0;

for k=1:n-1

    x=a+h*k;

    s=s+feval(fun,x);

end

s=h*(feval(fun,a)+feval(fun,b))/2.0+h*s;

2 复化辛普森公式程序:

%masimp.m

function s=masimp(fun,a,b,n)

%通途:用复辛普生形公式求积分。

%格式:s=masimp(fun,a,b,n)  fun为被积函数,a,b为积分区间的左右端点,

% n为区间的等分数,s返回数值积分值

h=(b-a)/n;

s1=0; s2=0;

for k=1:(n-1)

    x=a+h*k;

    s1=s1+feval(fun,x);

end

for k=0:(n-1)

    x=a+h*(k+1/2);

    s2=s2+feval(fun,x);

end

s=h/6*(feval(fun,a)+feval(fun,b)+2*s1+4*s2);

3 龙贝格公式程序:

%maromb.m

function s=maromb(fun,a,b,tol)

%用途:用龙贝格公式求积分

%格式:s=maromb(fun,a,b,tol), fun是被积函数,a, b是积分下、上限

%tol允许误差,s返回积分近似值

if nargin<4,tol=1e-4;end

i=1;j=1;h=b-a;

T(1,1)=h*(feval(fun,a)+feval(fun,b))/2;

T(i+1,1)=T(i,1)/2+sum(feval(fun,a+h/2:h:b-h/2))*h/2;

T(i+1,j+1)=(4^j*T(i+1,j)-T(i,j))/(4^j-1);

while abs(T(i+1,i+1)-T(i,i))>tol

    i=i+1;h=h/2; 

    T(i+1,1)=T(i,1)/2+sum(feval(fun,a+h/2:h:b-h/2))*h/2;

    for j=1:i

        T(i+1,j+1)=(4^j*T(i+1,j)-T(i,j))/(4^j-1);

    end    

end

T

s=T(i+1,j+1);

文档

数值计算方法 实验报告4

实验四数值微积分实验学院:数学与计算机科学学院专业:数学与应用数学学号:姓名:一.实验目的1利用复化求积公式计算定积分,并比较误差;2比较一阶导数和二阶导数的数值方法,并绘图观察特点.二.实验题目用复化梯形公式、复化辛普森公式、龙贝格公式求下列定积分,要求绝对误差为,并将计算结果与精度解进行比较:.利用等距节点的函数值和端点的导数值,用不同的方法求下列函数的一阶和二阶导数,分析各种方法的有效性,并用绘图软件绘出函数的图形,观察其特点.,,三.实验原理1复化梯形公式将积分区间剖分为等分,分点为,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top