复化积分法(复化梯形求积-复化Simpson公式-变步长求积法)MATLAB编程实验报告(共4页).doc
精选优质文档-倾情为你奉上复化积分法(复化梯形求积,复化Simpson公式,变步长求积法)MATLAB编程实验报告一、 问题描述:编写函数实现复化积分法。二、 实验步骤(过程):(一) 复化求积法(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;endp=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; endendtl=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公式变步长求积法专心-专注-专业