您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票经典资料 > 第一题.矩阵法-梯形法积分
梯形法数值积分A.算法说明:梯形法数值积分采用的梯形公式是最简单的数值积分公式,函数()fx在区间[a,b]上计算梯形法数值积分表达式为:()[()()]2babafxdxfafb由于用梯形公式来求积分十分粗糙,误差也比较大,后来改进后提出了复合梯形公式:bahn,其中,n为积分区间划分的个数;h为积分步长。在MATLAB中编程实现的复合梯形公式的函数为:CombineTraprl.功能:复合梯形公式求函数的数值积分。调用格式:[I,step]=CombineTraprl(f,a,b,eps).其中,f为函数名;a为积分下限;b为积分上限;eps为积分精度;I为积分值;Step为积分划分的区间个数B.流程图开始abs(I2–I1)epsn=n+1;h=(b-a)/n;I1=I2;I2=0;fori=0:n-1x=a+h*i;x1=x+h;I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1));I=I2;Step=n;结束是否否n=1;h=(b-a)/2;I1=0;I2=(subs(sym(if),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;是C.复合梯形公式的原程序代码:function[I,step]=CombineTraprl(f,a,b,eps)%复合梯形公式求函数f在区间[a,b]上的定积分%函数名:f%积分下限:a%积分上限:b%积分精度:eps%积分值:I%积分划分的子区间个数:stepif(nargin==3)eps=1.0e-4;%默认精度为0.0001endn=1;h=(b-a)/2;I1=0;I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;whileabs(I2-I1)epsn=n+1h=(b-a)/n;I1=I2;I2=0;fori=0:n-1%第年n次的复合梯形公式积分x=a+h*i;%i=0和n-1时,分别代表积分区间的左右端点x1=x+hI2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1));endendI=I2;step=n;D.应用举例复合梯形法求数值积分应用举例,利用复合梯形法计算定积分dxx42211流程图原程序代码:[q,s]=CombineTraprl('1/(x^2-1)',2,4)%精度为默认的10-4结果q=0.2945S=15[q,s]=CombineTraprl('1/(x^2-1)',2,4,1.0e-6)%精度为10-6结果:q=0.2939s=66所以从复合梯形公式可以得出dxx42211≈0.2939矩形法数值积分源程序代码function[I,step]=CombineTraprl(f,a,b,eps)%复合矩形公式求函数f在区间[a,b]上的定积分%函数名:f%积分下限:a%积分上限:b%积分精度:eps%积分值:I%积分划分的子区间个数:step调用函数CombineTraprl(f,a,b,eps)f=1/(x^2-1)a=2;b=4结束开始if(nargin==3)eps=1.0e-4;%默认精度为10-4endn=1;h=b-a;I1=0;I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h;whileabs(I2-I1)epsn=n+1h=(b-a)/n;I1=I2;I2=0;fori=0:n-1%第年n次的复合矩形公式积分x=a+h*i;%i=0和n-1时,分别代表积分区间的左右端点x1=x+hI2=I2+h*subs(sym(f),findsym(sym(f)),x1);endendI=I2;step=n;应用举列:复合矩形法求数值积分应用举例,利用复合矩形法计算定积分dxx212流程图调用函数CombineTraprl(f,a,b,eps)f=x^2a=1;b=2结束开始原程序代码:[q,s]=CombineTraprl('x^2',1,2)%精度为默认的10-4结果:q=2.3340s=16
本文标题:第一题.矩阵法-梯形法积分
链接地址:https://www.777doc.com/doc-5165116 .html