计算物理学(数值分析)上机实验答案4、数值积分和数值微分

本文介绍了数值积分和微分的MATLAB实现,包括梯形公式、复合辛普森公式、牛顿-科茨公式、龙贝格积分、差商求导和理查森外推法。通过实验例子展示了各方法的精度和误差,并提供了MATLAB程序示例。
摘要由CSDN通过智能技术生成

实验四 数值积分和数值微分

​ 在实际问题中我们常常需要计算定积分。但在很多情况下,并不能利用牛顿-莱布尼兹公式方便地计算函数的定积分,因此,有必要研究定积分的数值计算问题。牛顿-科特斯公式是在等距节点情形下的插值型求积公式,其简单情形如梯形公式、抛物线公式等。复化求积公式是改善求积公式精度的一种行之有效的方法,特别是复化梯形公式、复化抛物线公式,使用方便,在实际计算中常常使用。龙贝格求积公式是在区间逐次分半过程中,对用梯形法所得的近似值进行多级"修正",而获得的准确程度较高的求积分近似值的一种方法。当然,对具体实际问题而言,一个公式使用的效果如何,与被积分的函数性态及计算结果的精度要求等有关,我们要根据具体问题,选择合适的公式进行计算。

​ 微分是高等数学中的基本运算。一方面它是一些非常重要的数学工具(微分方程、概率论等)的基础,另一方面它在实际问题中也有着许多直接的应用。

一、实验目的

1、理解数值积分的概念,掌握各种数值积分方法,包括梯形公式、抛物线公式、复化求积公式等;

2、通过实际计算体会各种数值积分方法的精确度;

3、理解数值求导的概念,掌握各种数值求导的方法。

二、算法实例

1.梯形公式的 MATLAB 程序

function T=rctrap(fun,a,b,m)
n=1;h=b-a; T=zeros(1,m+1); x=a;
T(1)=h*(feval(fun,a)+feval(fun,b))/2;
for i=1:m
    h=h/2; n=2*n; s=0;
    for k=1:n/2
        x=a+h*(2*k-1); s=s+feval(fun,x);
    end
    T(i+1)=T(i)/2+h*s;
end
T=T(1+m)
例 4.1

​ 用 rctrap 计算 I = 1 2 π ∫ 0 π 2 e − x 2 2 d x I = \frac { 1 } { \sqrt { 2 \pi } } \int _ { 0 } ^ { \frac { \pi } { 2 } } e ^ { - \frac { x ^ { 2 } } { 2 } } d x I=2π 102πe2x2dx,递归 14 次,并将计算结果与精确值比较.

fun=@(t)exp((-t^2)/2)/(sqrt(2*pi));
T=rctrap(fun,0,pi/2,14), syms t
fi=int(exp((-t^2)/2)/(sqrt(2*pi)),t,0, pi/2);
Fs= double(fi), wT= double(abs(fi-T))
% 运行后屏幕显示I精确值Fs,用rctrap 计算I的递归值T和T与精确值Fs的绝对误差wT

2.复合辛普森(Simpson)数值积分的 MATLAB 主程序

function y=comsimpson(fun,a,b,n)
z1=feval (fun,a)+ feval (fun,b);m=n/2;
h=(b-a)/(2*m); x=a;
z2=0; z3=0; x2=0; x3=0;
for k=2:2:2*m
    x2=x+k*h; z2= z2+2*feval (fun,x2);
end
for k=3:2:2*m
    x3=x+k*h; z3= z3+4*feval (fun,x3);
end
y=(z1+z2+z3)*h/3;
例 4.2

​ 用 comsimpson.m 和 quad.m 分别计算定积分 I = 1 2 π ∫ 0 1 e − x 2 2 d x I = \frac { 1 } { \sqrt { 2 \pi } } \int _ { 0 } ^ { 1 } e ^ { - \frac { x ^ { 2 } } { 2 } } d x I=2π

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值