复化辛普森公式和高斯求积公式方法计算积分,matlab程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的及题目
实验目的:掌握利用复化辛普森公式和高斯求积公式方法计算积分,熟悉matlab 的操作。
题目:1.利用复化辛普森公式计算积分:
1、xdx x ln 10⎰
2.利用高斯求积公式计算积分:1、xdx
x ln 1
0⎰2、∫1
0sinx (1+x 2)dx 实验步骤:
1.利用复化辛普森公式计算积分:
1.1.建立M 文件
function y=f(x)
y=sqrt(x)*log(x);
1.2.建立M 文件
function T_n=F_H_T(a,b,n)
h=(b-a)/n;
for k=0:n
x(k+1)=a+k*h;
if x(k+1)==0
x(k+1)=10^(-10);
end
end
T_1=h/2*(f(x(1))+f(x(n+1)));
for i=2:n
F(i)=h*f(x(i));
end T_2=sum(F);
T_n=T_1+T_2;
1.3.在命令窗口输入
T_n=F_H_T(0,1,20)
输出结果:
2.利用高斯求积公式计算积分:
2.1.建立M文件
function s=guassl(a,b,n)
h=(b-a)/n;
s=0.0;
for m=0:(1*n/2-1)
s=s+h*(guassf(a+h*((1-
1/sqrt(3))+2*m))+guassf(a+h*((1+1/sqrt(3))+2*m)));
end
s;
I=int('sin(x)',0,1);
c=(I-s)/I;
d=vpa(c,10);
2.2.1.建立M文件
function y=guassf(x)
y=sqrt(x)*log(x);
2.2.2.建立M文件
function y=guassf(x)
y=sinx/(1+x*x);
2.3.运行结果
2.3.1.在命令窗口输入s=guassl(0,1,20)
2.3.2.在命令窗口输入s=guassl(0,1,20)