复化辛普森公式和高斯求积公式方法计算积分matlab程序

一、实验目的及题目

实验目的:掌握利用复化辛普森公式和高斯求积公式方法计算积分,熟悉matlab 的操作。

题目:1.利用复化辛普森公式计算积分:

1、xdx x ln 10?

2.利用高斯求积公式计算积分: 1、xdx x ln 1

0?

2、∫sinx (1+x 2)?10dx

实验步骤:

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)

相关文档
最新文档