matlab实验报告
- 格式:doc
- 大小:144.50 KB
- 文档页数:5
数学试验报告
一、实验问题:
有一形状较为复杂,但表面很光滑的曲面工件.通过科学手段,将其放置于某一空间坐标系下,测得曲面上若干个点的坐标如下:
Y
x -5 -4 -3 -2 -1 0 1 2 3 4 5
-5 13.6 -8.2 -14.8 -6.6 1.4 0 -3.8 1.4 13.6 16.8 0
-4 -8.2 -15.8 -7.9 2.2 3.8 0 0.6 7.3 10.1 0 -16.8
-3 -14.8 -7.9 2.5 5.8 2.3 0 2.7 5.1 0 -10.1 -13.7
-2 -6.6 2.2 5.9 3 -0.3 0 1.9 0 -5.1 -7.3 -1.4
-1 1.4 3.8 2.3 -0.3 -0.9 0 0 -1.7 -2.7 -0.6 3.8
0 0 0 0 0 0 0 0 0 0 0 0
1 -3.8 0.6 2.7 1.7 0 0 0.9 0.3 -2.3 -3.8 -1.4
2 1.4 7.3 5.1 0 -1.7 0 0.3 -3.1 -5.8 -2.2 6.6
3 13.6 10.1 0 -5.1 -2.7 0 -2.3 -5.8 -2.5 7.9 14.8
4 16.8 0 -10.1 -7.3 -0.6 0 -3.8 -2.2 7.9 15.8 8.2
5 0 16.3 -13.6 -1.4 3.8 0 -1.4 6.6 14.8 8.2 -13.6
要求:
(1)、画出该曲面工件的图形.
(2)、在已知相邻的横、纵坐标之间插入三个分点,用interp2命令计算出所有点处的竖坐标,画出相应的插值曲面.
(3)、分别用不同的方法求出该曲面工件表面积的近似值.
二、问题分析:
(1)、由x=-5:1:5;y=-5:1:5产生“格点”矩阵,再用已知的各“格点”的纵坐标z,用surf(x,y,z)命令即可画出未进行插值的工件表面图形。
(2)、要在已知相邻的横、纵坐标之间插入三个分点,则要用xc=-5:0.25:5;yc=-5:0.25:5产生另一个“格点”矩阵,然后使用interp2命令计算所有“格点”处的纵坐标z,然后再用surf(x,y,z)命令即可画出该插值曲面。
(3)、该工件是一个曲面,要求其表面积的近似值,可以想到的用“分”,“匀”,“和”,“精”的思想,将工件曲面分成n个在xoy平面上的投影是边长为d的矩形的曲面四边形(从第(2)题画出的曲面可以一目了然的看出),分别求出各个曲面四边形的面积再求和,n取的越大,d越小,越接近准确值。
对于如何求每一个曲面四边形的面积:
方法1:如图所示,曲面面积微元S近似等于以OP1和OP2为邻边的平行四边形的面积S=,只要n取的值较大,d足够小,误差会较小。
曲面微元:
方法2:由第一型面积分公式: ,曲面面积微元S等于. 由上述分割工件曲面的思想,dxdy即等于. 问题是如何求得曲面方程的对x、y的偏导数?通过查找资料,发现Matlab软件中有求梯度的命令gradient,因此,曲面的面积微元S可以求得,而且与方法一类似,当d取足够小时,误差可以忽略不计。
三、问题求解:
(1)、使用Matlab软件编写如下程序:
x=-5:1:5;
y=-5:1:5;
[xb,yb]=meshgrid(x,y);
zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;
-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;
-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;
-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;
1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;
0,0,0,0,0,0,0,0,0,0,0;
-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;
1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;
13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;
16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;
0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];
surf(xb,yb,zb)
图1、由已知坐标点画出的工件表面图形
(2)、使用Matlab软件编写如下程序:
x=-5:1:5;
y=-5:1:5;
[xb,yb]=meshgrid(x,y);
zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0; -8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;
-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;
-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;
1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;
0,0,0,0,0,0,0,0,0,0,0;
-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;
1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;
13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;
16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;
0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];
xc=-5:0.25:5;
yc=-5:0.25:5;
[xcb,ycb]=meshgrid(xc,yc);
zcb=interp2(xb,yb,zb,xcb,ycb,'spline')
surf(xcb,ycb,zcb)
图2、插值计算出的所有点的纵坐标值(截取了一部分)
图3、插值曲面
(3)、求工件表面面积:
①利用方法一求面积微元:
x=-5:1:5;
y=-5:1:5;
[xb,yb]=meshgrid(x,y);
zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;
-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;
-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;
-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;
1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;
0,0,0,0,0,0,0,0,0,0,0;
-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;
1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6; 13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;
16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;
0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];
d=0.25; %改变d的值即可改变曲面四边形的个数n
xc=-5:d:5;
yc=-5:d:5;
[xcb,ycb]=meshgrid(xc,yc);
zcb=interp2(xb,yb,zb,xcb,ycb,'spline');
p=1;
q=1;
ss=0;
while p<10/d+1
while q<10/d+1
s=sqrt(d*d*(zcb(p,q+1)-zcb(p,q))^2+d*d*(zcb(p+1,q)-zcb(p,q))^2+d^4); %s为每一个曲面四边形的面积
ss=s+ss; %对s循环相加
q=q+1;
end
q=1;
p=p+1;
end
ss
(步长d取0.25时得工件表面积约为ss =670.0184)
②使用方法二求面积微元:
x=-5:1:5;
y=-5:1:5;
[xb,yb]=meshgrid(x,y);
zb=[13.6,-8.2,-14.8,-6.6,1.4,0,-3.8,1.4,13.6,16.8,0;
-8.2,-15.8,-7.9,2.2,3.8,0,0.6,7.3,10.1,0,-16.8;
-14.8,-7.9,2.5,5.8,2.3,0,2.7,5.1,0,-10.1,-13.7;
-6.6,2.2,5.9,3.0,-0.3,0,1.9,0,-5.1,-7.3,-1.4;
1.4,3.8,2.3,-0.3,-0.9,0,0,-1.7,-2.7,-0.6,3.8;
0,0,0,0,0,0,0,0,0,0,0;
-3.8,0.6,2.7,1.7,0,0,0.9,0.3,-2.3,-3.8,-1.4;
1.4,7.3,5.1,0,-1.7,0,0.3,-3.1,-5.8,-2.2,6.6;
13.6,10.1,0,-5.1,-2.7,0,-2.3,-5.8,-2.5,7.9,14.8;
16.8,0,-10.1,-7.3,-0.6,0,-3.8,-2.2,7.9,15.8,8.2;
0,16.3,-13.6,-1.4,3.8,0,-1.4,6.6,14.8,8.2,-13.6];
d=0.25; %改变d的值即可改变曲面四边形的个数n
xc=-5:d:5;
yc=-5:d:5;
[xcb,ycb]=meshgrid(xc,yc);
zcb=interp2(xb,yb,zb,xcb,ycb,'spline');