MATLAB 梯形法则 问题

[复制链接]
查看11 | 回复0 | 2010-2-3 00:59:16 | 显示全部楼层 |阅读模式
这就是梯形求积,将a,b之间的区间分成n端,将每一个划分点的函数值用直线连接起来,并求其面积之和。相当于1次拉格朗日插值求积分。当n趋于无穷大时,梯形的面积之和将逼近原函数围成的面积。程序:f.m如下:function y=f(x)y=1/x;trap.m如下:function y=trap(a,b,n)trap=0;ff=linspace(a,b,n);%将ab区间分成n段h=(b-a)/n;
%步长for i=1:n-1
%loop over all the middle valuestrap=trap+0.5*(f(ff(i))+f(ff(i+1)));endy=h*trap;%Remember the h multiplication in eq.(1)主程序为:a=1;b=2;yy=trap(a,b,4)yy=trap(a,b,8)yy=trap(a,b,16)运行结果:yy =
0.5250yy =
0.6076yy =
0.6501实际精确解为log(2)=0.6931,课件n变大时离实际解越来越近
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行