复化梯形公式matlab实验报告_复化积分法(复化梯形求积,复化Simpson公式,变步长求积法)MATLAB编程实验报告.doc...

该实验报告详细介绍了如何使用MATLAB编程实现复化梯形求积、复化Simpson公式以及变步长求积法进行数值积分。通过具体函数的编写,展示了在不同积分方法下的计算过程,并以示例计算了特定函数的积分。在变步长求积法中,采用了误差控制策略以达到设定的精度要求。
摘要由CSDN通过智能技术生成

资源描述

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

一、 问题描述:

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

二、 实验步骤(过程):

(1) 复化求积法

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

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公式求解

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公式

变步长求积法

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值