复化积分法(复化梯形求积-复化Simpson公式-变步长求积法)MATLAB编程实验报告 (1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复化积分法(复化梯形求积,复化Simpson 公式,变步长求积法)

MATLAB 编程实验报告 一、 问题描述:

编写函数实现复化积分法。

二、 实验步骤(过程):

(一)复化求积法 (1)复化梯形求积:用复化梯形求积公式求解

dx x x ⎰10sin function [f]=Tn(a,b,n,y)

syms t;

h=(b-a)/n;

f=0;

for k=1:n+1

x(k)=a+(k-1)*h

z(k)=subs(y,t,x(k));

end

for i=2:n

f=f+z(i);

end

q=subs(y,t,a);

if y=='sin(t)/t'&&a==0

q=1;

end

p=subs(y,t,b);

T=h/2*(q+p+2*f);

T=vpa(T,7)

clc,clear;

syms t;

a=0;b=1;

y=sin(t)/t;

n=8;

Tn(a,b,n,y);

(2)复化Simpson 公式:用复化Simpson 公式求解⎰211dx e x

function [f]=simpson(a,b,n,y)

syms t;

h=(b-a)/n;

f=0;l=0;

for k=1:n+1

x(k)=a+(k-1)*h

w(k)=0.5*h+x(k)

z(k)=subs(y,t,x(k));

end

for i=2:n

f=f+z(i);

end

for i=1:n

l=l+w(i);

end

q=subs(y,t,a);

if y=='sin(t)/t'&&a==0

q=1;

end

p=subs(y,t,b);

T=h/2*(q+p+2*f);

T=vpa(T,7)

clc,clear;

syms t;

a=1;b=2;

y=exp(1/t);

n=5;

simpson(a,b,n,y);

(3)变步长求积法:以书本例4.5为例function [f]=TN(a,b,y,R0)

syms t;

T=[];

f=0;

q=subs(y,t,a);

if y=='sin(t)/t'&&a==0

q=1;

end

p=subs(y,t,b);

T(1)=(b-a)/2*(q+p);

i=2;

n=i-1;

h=(b-a)/n;

z1=a+h/2;

z2=subs(y,t,z1);

T(2)=T(1)/2+h/2*z2;

while ((T(i)-T(i-1))/3)>R0 i=i+1

n=i-1;

n=2^(n-1)

h=(b-a)/n;

f=0;

for k=1:n

x(k)=a+h*(k-1);

w(k)=x(k)+h/2;

z(k)=subs(y,t,w(k)); f=f+z(k);

end

T(i)=T(i-1)/2+h/2*f

if ((T(i)-T(i-1))/3)<=R0

break;

end

end

tl=T(i)

clc,clear;

format long;

syms t;

y=sin(t)/t;

a=0;b=1;

R0=0.5*10^(-3);

TN(a,b,y,R0);

结论如下:

三、结论:

复化梯形求积:复化Simpson公式变步长求积法

相关文档
最新文档