复化积分法(复化梯形求积,复化Simpson公式,变步长求积法)MATLAB编程实验报告(二类参照)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;