搜索
您的当前位置:首页正文

怎样计算平面图形的面积

来源:六九路网


《数学实验》报告

学 院: **************

专业班级: ************ 学 号: ************* 姓 名: **********

实验名称: 怎样计算平面图形的面积

实验日期: ********

实验四 怎样计算平面图形的面积

1. 目的:

探索曲线拟合的不同方式,使学生了解泰勒公式的意义,并且对运用定积分计算任意平面图形的面积有更深入的认识。能初步运用所学数学知识及数学软件工具matlab解决实际问题。

2. 任务

1.在同一坐标系内作出区间x1,1上对数函数yln1x及多项式函数

x2x2x3x2x3x4yx,yx,yx,yx

223234的图像,观察这些多项式函数逼近指数函数的情况。

2.在同一坐标系内作出区间x,上正弦函数ysinx及多项式函数

x3x3x5x3x5x7x3x5x7x9yx,yx,yx,yx

3!3!5!3!5!7!3!5!7!9!

3.假定某天的天气变化,试找出这一天的气温变化规律(求气温关于时间的函数)。 时刻t(x) 温度o0 1 2 3 4 5 6 7 8 9 10 11 12 15 14 14 14 14 15 16 18 20 22 23 25 28 C(y) 13 14 15 16 17 18 19 20 21 22 23 24 时刻t(x) 温度o31 32 31 29 27 25 24 22 20 18 17 16 C(y)

4.比较这两种方法各自的优点和缺点。对于给定的数据,运用Matlab及以上两种不同的方法找出相应的多项式,并作出其图像。你认为哪种方法要好些。你能不能找到其他的办法解决这个问题。

5.在平面上任意画一条简单光滑闭曲线,求此闭曲线围成的平面图形的面积。并观察当曲线上取的点逐渐增加时,所求多项式及所求面积值的变化情况。

3. 实验过程

1.

在同一坐标系内作出区间x1,1上对数函数yln1x及多项式函数

x2x2x3x2x3x4yx,yx,yx,yx

223234的图像,观察这些多项式函数逼近指数函数的情况。

(1)

编制程序绘制出它的图形;

【思路】

使用plot函数在同一坐标中绘出全部曲线,使用legend函数对全部曲线做出注释

【程序】

x=(-1:0.001:1); y1=log(1+x) ; y2=x ; y3=x-x.^2/2 ; y4=x-x.^2/2+x.^3/3; y5=x-x.^2/2+x.^3/3-x.^4/4;

plot (x , y1 , 'k' , x , y2 , 'm' , x , y3 , 'g' , x , y4 ,

'c',x,y5,'r');

legend('ln(1+x)','x','x-x^2/2','x-x^2/2+x^3/3','x-x^2/2+x^3/3','x-x^2/2+x^3/3-x^4/4');

【运行结果】

10-1-2-3-4-5-6-7 -1 ln(1+x)xx-x2/2x-x2/2+x3/3x-x2/2+x3/3-0.8-0.6-0.4-0.200.20.40.60.81 【分析】

随着多项式级数的增加,多项式逼近拟合的效果越佳

2.在同一坐标系内作出区间x,上正弦函数ysinx及多项式函数

x3x3x5x3x5x7x3x5x7x9yx,yx,yx,yx

3!3!5!3!5!7!3!5!7!9!

【思路】

使用plot函数在同一坐标中绘出全部曲线,使用legend函数对全部曲线做出注释

【程序】

x=(-pi:0.001:pi); y1=sin(x) ;

y2=x-x.^3/factorial(3) ;

y3=x-x.^3/factorial(3)+x.^5/factorial(5) ;

y4=x-x.^3/factorial(3)+x.^5/factorial(5)-x.^7/factorial(7); y5=x-x.^3/factorial(3)+x.^5/factorial(5)-x.^7/factorial(7)+x.^9/factorial(9);

plot (x , y1 , 'k' , x , y2 , 'm' , x , y3 , 'g' , x , y4 , 'c',x,y5,'r');

legend('sin(x)','x-x^3/3!','x-x^3/3!+x^5/5! ','x-x^3/3!+x^5/5!-x^7/7!','x-x^3/3!+x^5/5!-x^7/7!+x^9/9!');

【运行结果】

sin(x)2.521.510.50-0.5-1-1.5-2-2.5 -4-3-2-101234x-x3/3!x-x3/3!+x5/5!x-x3/3!+x5/5!-x7/7!x-x3/3!+x5/5!-x7/7!+x9/9! 【分析】

随着多项式级数的增加,多项式逼近拟合的效果越佳

3.假定某天的天气变化,试找出这一天的气温变化规律(求气温关于时间的函数)。 时刻t(x) 温度o0 1 2 3 4 5 6 7 8 9 10 11 12 15 14 14 14 14 15 16 18 20 22 23 25 28 C(y)

时刻t(x) 温度o13 14 15 16 17 18 19 20 21 22 23 24 31 32 31 29 27 25 24 22 20 18 17 16 C(y)

(方法一)拉格朗日插值法

【程序】

%原始数据-下边界曲线

X1=[ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 ; 15 ,14 ,14 ,14,14 ,15,16,18,20,22,23,25,28,31,32,31,29,27,25,24,22,20,18,17,16 ] ;

t1=X1(1, : ) ; %横坐标 y1=X1(2 , : ) ; %竖坐标

for i=1:length(X1) %计算范德蒙矩阵 b( i , 1 ) = 1 ; for j=2:length(X1)

b( i , j ) = X1 ( 1 , i ) .^ ( j - 1 ) ; end ; end

a1=inv( b ) * X1( 2 ,:)'; %解方程组 for i=1 : 25%调整

h1( i ) = a1 ( 26 - i ) ; end

s=0 :0.1 :24; %绘图-横坐标

k1=polyval( h1 , s ) ; %绘图-竖坐标

plot( s , k1 , ' b.' ) %绘图-拉格朗日插值曲线 hold on

hold on

plot( t1 , y1 , 'r.' , 'MarkerSize' , 18 )

【运行结果】

120001000080006000400020000-2000-40000510152025

(方法二)ployfit[ ]

有专门处理这类问题的函数ployfit[ ],下面就是用这个函数处理给定数据的结果:

【程序】

X=

[ 0,1,2,3,4 ,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 ;15,14,14,14,14,15,16,18,20,22,23,25,28,31,32,31,29,27,25,24,22,20,18,17,16 ] ; n=18;

f = polyfit ( X ( 1 , : ) , X ( 2 , : ) , n ) ; s = X ( 1 , 1 ) : 0.01 : X ( 1 , length ( X ) ) ; k = polyval ( f , s ) ; plot( s , k , 'b - ' ) hold on

plot( X ( 1 , : ) , X ( 2 , : ) , 'r . ' , 'MarkerSize' , 18 ) hold off

【运行结果】

32302826242220181614120510152025

4.比较这两种方法各自的优点和缺点。对于给定的数据,运用Matlab及以上两种不同的方法找出相应的多项式,并作出其图像。你认为哪种方法要好些。你能不能找到其他的办法解决这个问题。

【分析】

1. 最小二乘法主要考虑到观测数据受随机误差的影响,

寻求整体误差最小、较好反映观测数据的近似函数,并不保证所得函数一定满足

yif(xi)2. 拉格朗日插值:要求函数在每个观测点处一定要满足 yif(xi)所以在给定的在所给点较多时选用最小二乘法较好,因为拉格朗日插值法所拟合曲线是由点的个数确定的,点越多其拟合多项式次数越高,但这样可能就越不准确。而且曲线除了中部拟合得还算可以,在两端会产生振荡。

3. 使用polyfit函数法可以比较好地解决以上问题。

5.在平面上任意画一条简单光滑闭曲线,求此闭曲线围成的平面图形的面积。并观察当曲线上取的点逐渐增加时,所求多项式及所求面积值的变化情况。

【分析】

设下边界的函数为y=(x-4)^2,

上边界的函数设为y=-(x-4)^2+32,

下边界取点

(0,16),(1,9),(2,4),(3,1),(4,0)(5,1)(6,4),(7,3,)(8,16) 上边界取点

(0,16),(1,23),(2,28),(3,31)(4,32)(5,31)(6,28)(7,23)(8,16)

【程序】

%定以拟合函数对所取的点进行拟合

function nihe(X,n)

f = polyfit ( X ( 1 , : ) , X ( 2 , : ) , n ) ; s = X ( 1 , 1 ) : 0.01 : X ( 1 , length ( X ) ) ; k = polyval ( f , s ) ; plot( s , k , 'b - ' ) hold on

plot( X ( 1 , : ) , X ( 2 , : ) , 'r . ' , 'MarkerSize' , 18 ) hold off

【拟合上下边界函数】

在命令窗口输入:

X1=[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ; 16 , 9 , 4, 1 , 0 , 1 , 4 , 9 , 16 ] ; X2=[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ; 16 , 23 , 28 , 31 , 32, 31 , 28, 23 , 16 ] ; nihe( X1 , 5 )

hold on

nihe( X2 , 5 ) 得到如下图形:

35302520151050-5012345678

计算图形面积代码如下:

f1=inline('x.^2-8*x+16 ','x') q1=quadl(f1,0,8)

f2=inline('-x.^2+8*x+16','x')

q2=quadl(f2,0,8)disp(['图像面积为 ' , num2str(q2 – q1)])

运行结果为:

f1 =

Inline function: f1(x) = x.^2-8*x+16 q1 =

42.6667 f2 =

Inline function: f2(x) = -x.^2+8*x+16 q2 =

213.3333

图像面积为 170.6667

理论计算为128*(-2/3)+256=170.6667=运行结果

经观察,随着点取得越多,拟合效果越好,,计算所得的图形面积越精确。

4. 实验总结与思考

经过这次实验,我学会了运用matlab的一些功能去求图形的面积,学会用

包括拉格朗日插值法等方法去绘制曲线,也认识到各种方法存在的问题,希望以后继续努力,取得更大的进步。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top