实验目的:掌握利用复化辛普森公式和高斯求积公式方法计算积分,熟悉matlab的操作。
题目:1.利用复化辛普森公式计算积分:
1、
10xlnxdx 2.利用高斯求积公式计算积分:
11、
0xlnxdx(1+𝑥2)dx2、
∫0𝑠𝑖𝑛𝑥
1
实验步骤:
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)));
ends;
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)
因篇幅问题不能全部显示,请点此查看更多更全内容