没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
M
ATLAB数值积分
1 定积分的 MATLAB 符号计算 ................................................................................................... 2
2 变限积分的 MATLAB 符号计算 ............................................................................................... 2
3 矩形公式的 MATLAB 程序 ....................................................................................................... 2
4 梯形公式的 MATLAB 程序........................................................................................................ 3
5 辛普森(SIMPSON)数值积分的 MATLAB 程序.................................................................. 4
6 牛顿-科茨(NEWTON-COTES)数值积分和误差分析的 MATLAB 程序 .......................... 6
7 利用三次样条求表格型数值积分的 MATLAB 方法 ............................................................. 10
8 利用拉格朗日插值等方法求表格型数值积分的 MATLAB 方法.......................................... 10
9 龙贝格(ROMBERG)公式及其 MATLAB 程序 ................................................................ 12
10 自适应积分及其 MATLAB 程序 ........................................................................................... 14
11 高斯(GAUSS)型积分公式及其 MATLAB 程序 .............................................................. 15
11.1 在[-1,1]上的高斯-勒让德积分及其 MATLAB 程序 ....................................................... 15
11.2 在[A,B]上的高斯-勒让德积分公式及 MATLAB 程序..................................................... 17
12 拉道积分公式和洛巴托积分公式及其 MATLAB 程序 ....................................................... 17
13 无穷积分的符号计算及其 MATLAB 程序 ........................................................................... 23
14 无穷积分的近似计算及其 MATLAB 程序 ........................................................................... 25
14.1 累积求和无穷积分法及其 MATLAB 程序 ...................................................................... 25
14.2 无穷区间的截断法及其 MATLAB 程序.......................................................................... 26
14.3 高斯-拉盖尔求积公式及其 MATLAB 程序..................................................................... 27
14.3 高斯—埃尔米特求积公式及其 MATLAB 程序 .............................................................. 31
15 无界函数反常积分的符号计算及其 MATLAB 程序 ........................................................... 33
16 无界函数反常积分的近似计算及其 MATLAB 程序 ........................................................... 35
16.1 无界函数的反常积分的“挖去”法及其 MATLAB 程序 .............................................. 35
16.2 高斯—切比雪夫求积公式及其 MATLAB 程序 .............................................................. 36
17 多重积分的计算及其 MATLAB 程序 ................................................................................... 37
17.1 二重积分的符号计算及其 MATLAB 程序 ...................................................................... 37
17.2 二重积分的梯形公式及其 MATLAB 程序 ...................................................................... 39
17.3 矩形域上的辛普森公式及其 MATLAB 程序 .................................................................. 40
17.4 一般域上二重积分的数值计算及其 MATLAB 程序 ...................................................... 42
17.5 三重积分的计算及其 MATLAB 程序.............................................................................. 42
2
1 定积分的 MATLAB 符号计算
例 由 xy sin ,
2
3
,
2
1
,cos xxxy 所围成的平面区域 D.求平面区域 D 的
面积 S.
解 输入作函数图形的程序
>>
x=-1:0.001:2; F1= sin(x); F2=cos(x);
plot(x ,F1,'b-',x ,F2,'g-'), axis([-1,pi/4+1,-1.3,1.3]),
xlabel('x'), ylabel('y'),
title('y=sinx , y=cosx 和x=-0.5及x=1.5所围成的平面区域的图形')
运行后屏幕显示图形.
求平面区域 D 的面积 S.输入计算面积 S 的程序
>> syms x
f1= cos(x)-sin(x); f2=-f1; S1 =int(f1,x,-0.5,pi/4);
S2=int(f2,x, pi/4,1.5); S=S1+S2,Sj= double (S)
运行后屏幕显示计算面积的值 S 及其近似值 Sj 如下
S =
2*2^(1/2)+sin(1/2)-cos(1/2)-sin(3/2)-cos(3/2)
Sj =
1.36203791318826
2 变限积分的 MATLAB 符号计算
例 已知
2
)(
x
x
xF
e )2sin(
3
t
t
dt ,求 )(' xF .
解 输入程序:
>> syms x t
F1=int(exp(t)*sin(2+sqrt(t^3)),x,0);
F2=int(exp(t)*sin(2+sqrt(t^3)),0,x^2);
Fi= F1+ F2;
dF=diff(Fi)
运行后屏幕显示计算变限积分
)(xF 的导数.
3 矩形公式的 MATLAB 程序
(一) 函数 sum 的调用格式
调用格式一:sum(X)
调用格式二:sum (X,DIM)
例 用 MATLAB 和矩形公式计算
2
0
e
xsin
d
x
,并与精确值比较.
解 将
]2/,0[
分成 20 等份,步长为 40/
,输入程序
>> h=pi/40; x=0:h:pi/2; y=exp(sin(x));
z1=sum(y(1:20))*h, z2=sum(y(2:21))*h,
运行后屏幕显示矩形公式计算结果分别如下
z1 = z2 =
3.0364 3.1713
求定积分的精确值,输入程序
3
>> syms x
F=int(exp(sin(x)),x,0, pi/2), Fs= double (F),
wz1=abs( Fs-z1), wz2= abs( Fs-z2)
运行后屏幕显示定积分的精确值 Fs 和与用矩形公式计算结果的绝对误差 wz
1
、wz
2
.
(二) 函数 cumsum 的调用格式
调用格式一:cumsum(X)
调用格式二:cumsum (X,DIM)
例 用 MATLAB 的函数 sum 和 cumsum 及矩形公式计算
2
0
e x
x
sin
d
x
,并与
精确值比较.
解 将
]2/,0[
分成 20 等份,步长为 40/
,输入程序如下(注意 sum 和 cumsum
的用法)
>> h=pi/40; x=0:h:pi/2; y=exp(-x).*sin(x);
z1=sum(y(1:20))*h,z2=sum(y(2:21))*h,
z=cumsum(y); z11=z(20)*h, z12=(z(21)-z(1))*h,
运行后屏幕显示计算结果分别如下
z1 = z2 = z11 = z12 =
0.3873 0.4036 0.3873 0.4036
求定积分的精确值,输入程序
>> syms x
F=int(exp(-x)*sin(x),x,0, pi/2)
Fs= double (F) ,wz1=abs( Fs-z1), wz2= abs( Fs-z2)
运行后屏幕显示定积分的精确值 Fs 和用矩形公式计算结果的绝对误差 wz
1
、wz
2
分别如下
F = Fs =
1/2*(-1+exp(pi)^(1/2))/exp(pi)^(1/2) 0.3961
wz1 = wz2 =
0.0088 0.0075
4 梯形公式的 MATLAB 程序
(一) 根据梯形公式和估计误差公式自己编写 MATLAB 程序计算定积分
例 分别取 80/,800/,0008/
h ,用梯形公式计算定积分
2/
0
I
e
xsin
d
x
,并与精确值比较.然后观察
h
对计算结果的有效数字和绝对误差的影
响.
解 编写并输入如下程序
>>h=pi/8000;a=0;b=pi/2;x=a:h:b;n=length(x),
y=exp(sin(x));
z1=(y(1)+y(n))*h/2; z2=sum(y(2:n-1))*h; z8000=z1+z2,
syms t
f=exp(sin(t)); intf=int(f,t,a,b), Fs=double(intf),
Juewucha8000=abs(z8000-Fs)
运行后屏幕显示取
8000/h 时,积分区间 ]2/,0[
上等距节点的个数 n ,用梯形
公式计算定积分
I
的值 z8000 和精确值 intf 的近似值 Fs 及其绝对误差 Juewucha8000.
(二) 用函数 trapz 计算定积分
调用格式一:Z =trapz(Y)
调用格式二:Z =trapz(X,Y)
4
调用格式三:Z = trapz (X,Y,DIM) 或 trapz (Y,DIM)
(三) 用函数 cumtrapz 计算定积分
调用格式一:Z =cumtrapz (Y)
调用格式二:Z =cumtrapz (X,Y)
调用格式三:Z = cumtrapz (X,Y,DIM) 或 cumtrapz (Y,DIM)
例 用 MATLAB 的函数
trapz 和 cumtrapz 分别计算
2/
0
e x
x
sin
d
x
,精确到
4
10
,并与矩形公式比较.
解 将
]2/,0[ 分成 20 等份,步长为 40/
,输入程序如下(注意 trapz(y)是单位步
长, trapz(y)*h=trapz(x,y)):
>> h=pi/40; x=0:h:pi/2; y=exp(-x).*sin(x);
z1=sum(y(1:20))*h, z2=sum(y(2:21))*h, z=(z1+z2)/2
z3=trapz(y)*h, z3h=trapz(x,y), z3
c=cumtrapz(y)*h,
运行后屏幕显示用矩形公式(9.3),(9.4)计算结果 z
1
、
z
2
和二者的平均数 z、函数 trapz
和 cumtrapz 分别计算结果 z
3
、
z
3c
.
(四)梯形数值积分的 MATLAB 主程序
梯形数值积分的 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);
例 用 rctrap 计算
2
0
2
1
I
e
2
2
x
d
x
,递归 14 次,并将计算结果与精确值比较.
解 输入程序
>>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
精确值 F
s
,用 rctrap 计算
I
的递归值 T 和 T 与精确值 F
s
的绝对误差 w
T
5 辛普森(Simpson)数值积分的 MATLAB 程序
调用格式一:quad(‘fun’,a,b)
调用格式二:quad(‘fun’,a,b,tol)
调用格式三:[Q,FCNT] = quad (...)
调用格式四:quad(‘fun’,a,b, tol,TRACE)
调用格式五:quad(‘fun’,a,b, tol,TRACE,P1,P2, …)
复合辛普森(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
5
for k=3:2:2*m
x3=x+k*h; z3= z3+4*feval (fun,x3);
end
y=(z1+z2+z3)*h/3;
例 用 comsimpson.m 和 quad.m 分别计算定积分
1
0
2
1
I e
2
2
x
d
x
,取精度为
4
10
,并与精确值比较.
解 输入程序
>> [Q1,FCNT14] = quad(@fun,0,1,1.e-4,3),
Q2 =comsimpson (@fun,0,1,10000)
syms x
fi=int(exp( (-x.^2)./2)./(sqrt(2*pi)),x,0, 1);
Fs= double (fi)
wQ1= double (abs(fi-Q1) ), wQ2= double (abs(fi-Q2) )
运行后屏幕显示
I
的精确值 F
s
,用 comsimpson.m 和 quad.m 分别计算
I
的近似值 Q
2
、
Q
1
和迭代次数 FCNT14,取精度分别为
4
10
,Q
2
、Q
1
分别与精确值 F
s
的绝对误差 wQ
2
, wQ
1
如下
9 0.0000000000 2.71580000e-001 0.1070275100
11 0.2715800000 4.56840000e-001 0.1597942242
13 0.7284200000 2.71580000e-001 0.0745230082
Q1 = FCNT14 = Q2 =
0.3413 13 0.3413
Fs = wQ1 = wQ2 =
0.3413 3.6619e-009 3.7061e-005
辛普森公式及其误差分析
例 用辛普森公式计算
1
0
2
1
I
e
2
2
x
d
x
,取 00120
n 个等距节点,并将计算
结果与精确值比较,然后再取
13n 计算,观察 n 对误差的影响.
解 由
0012012
mn
,得
00010
m
.根据辛普森(Simpson)公式编写并输
入下面的程序
>> a=0;b=1;m=10000; h=(b-a)/(2*m); x=a:h:b;
y=exp((-x.^2)./2)./(sqrt(2*pi));
z1=y(1)+y(2*m+1); z2=2*sum(y(2:2:2*m));
z3=4*sum(y(3:2:2*m));
z=(z1+z2+z3)*h/3, syms t,f=exp((-t^2)/2)/(sqrt(2*pi));
intf=int(f,t,a,b), Fs=double(intf); Juewucha=abs(z-Fs)
运行后屏幕显示用辛普森公式(9.11)计算定积分
I
的近似值 z 和精确值 intf 及其绝对误差
Juewucha(取
00120n 个等距节点).
例 估计用辛普森公式计算定积分
2
0
I e
xsin
d
x
时的误差,取 40/h .
解 根据估计误差公式,先输入求
)(
)4(
xf 的程序
>>syms x,y=exp(sin(x)); yx4=diff(y,x,4)
运行后输出被积函数的四阶导函数. 然后在输入误差估计程序
>>h=pi/40; x=0:0.00001:pi/2;
yx4=sin(x).*exp(sin(x))-4*cos(x).^2.*exp(sin(x))+3*sin(x
).^2.*exp(sin(x))-6*sin(x).*cos(x).^2.*exp(sin(x))+cos(x).^4.*e
xp(sin(x));
juyx4= abs(yx4); RS=(h^4)*(pi/2)*max(juyx4)/180
运行后屏幕显示误差估计值
RS =
3.610450295892220e-006
剩余43页未读,继续阅读
passionSnail
- 粉丝: 407
- 资源: 5624
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页