数学实验报告

发布时间:   来源:文档文库   
字号:

数学实验报告



实验序号日期:2013515
问题背景描述
随着计算机科学技术的发展,科学计算问题已经在一定程度上得到了解决。采用一些先进的算法,甚至可以用具有高度真实感的实体模型来模拟科学计算的过程和结果。
MATLAB提供了比较完备的体积可视化函数,利用这些函数,可以绘制流线图、流管图、流带图和流点图等表现流动特征的图形。
本实验采用的数据来自Matlab自带的wind向量数据集合,它代表流过北美洲的气流。具体数据可以利用loadwindMatlab中提取出来。实验目的:
本实验选取了Matlab自带的wind向量数据集,利用Matlab供的对标量数据和矢量数据进行可视化的函数,利用这些函数绘制流线图、流点图、流带图、流管图等多种图形。
利用计算机生成的数据绘图,从而以一种很直观的方式表现了数学系10B

体积可视化---基于wind的向量数据集合(它代表流过北美洲的气流)分析气流变化

流过北美洲的气流变化情况,非常有利于信息提取和反馈决策。实验原理与数学模型:一,相关函数(命令)及简介
1.streamline函数使用二维或三维数据绘制流线图其调用格式为:
(1)h=streamline(X,Y,Z,UVWstartx,starty,startz绘制三维矢量数据UVW的流线图并返回图形对象的句柄,数组X,Y,Z定义了U,V,W的坐标,startxstartystartz定义了流线图的起点位置。
(2)h=streamline(U,V,W,startxstartystartz制三维矢量数据U,V,W的流线图并返回图形对象的句柄,假定数组X,Y,Z由【X,Y,Z】=meshgrid(1:N,1:M,1:P)定义,其中【M,N,P】=size(U)
(3)h=streamline(X,Y,Z)X,Y,Z为单位数组,该数组由顶点数组计算得到的。
(4)h=streamline(X,Y,U,V,startxstarty制二维矢量数据U,V的流线图,数组X,Y定义了U,V的坐标,startxstarty定义了流线图的起点位置,h为图形对象句柄。
(5)h=streamline(U,V,startxstarty绘制二维矢量数据U,V的流线图并返回图形对象的句柄。假定数组X,Y由【X,Y】=meshgrid(1;N,1:M)定义,其中【M,N】size(U)

(6)h=streamline(XY)XY为单位数组,该数组是由顶点数组计算得到的。
(7)h=streamline(.options指定绘制流线图的选项,options可以定义为只有一个元素的矢量(步长)或有两个元素的矢量(步长和流线顶点的最大个数)
stepsize】或【stepsizemax-number-vertices如果无指定值,MATLAB将使用缺省值:
stepsize=0.1,max-number-vertices=1000
2.streamparticles函数使用二维或三维数据绘制流点图用流动的点来表示物体的流动。其调用格式为:
(1)streamparticlesvertices绘制矢量的流点图,流点由标记代表,可以显示流线的位置和速率,vertices为一个二维或三维矢量的单位数组。
(2)streamparticlesvertices,n)用n确定需要绘制多少流点。
(3)streamparticles(.PropertynamePropertyvalue使用指定的属性和指定值控制流点。流点包括:Animate-流点动画,可以设置动画重复的次数;FrameRate-动画频率,即每秒的动画幅数;ParticleAlignment-流点是否与流线对齐。
(4)streamparticlesline-handle使用由line-handle定义的图形对象绘制流点图。
(5)h=streamparticles(.返回图形对象句柄。

3.streamribbon函数使用三维矢量数据绘制流带图,用飘动的条带来表示物体的流动(本实验中是气流的流动),其调用形式为:
(1)streamribbon(X,Y,Z,U,V,W,startxstartystartz绘制三维矢量数据U、V、W的流带图,数组X,Y,Z定义了U,V,W的坐标,startxstartystartz定义了流带图的起点位置。
(2)streamribbon(U,V,W,startxstartystartz制三维矢量数据U、V、W的流带图,假定数组X,Y,Z由【X,Y,Z】=meshgrid(1:N,1:M,1:P)定义,其中【M,N,P】=size(U)
(3)streamribbonvertices,X,Y,Z,cavspeed先计算的流线顶点、扭曲角速度和流速。vertices为流线顶点的单位数组,X、Y、Z、cavspeed为三维数组。
(4)streamribbonverticescavspeed数组X、Y、Z由【X,Y,Z】=meshgrid(1:N,1:M,1:P)定义,其中【M,N,P】=size(cav)
(5)streamribbonverticestwistangle使用矢量的单位数组twistangle确定流带的扭曲,verticestwistangle的每一对应元素的大小必须相同。
(6)streamribbon(.width设置流带的宽度。(7)h=streamribbon(.返回图形对象句柄。

.streamtube函数使用三维数据绘制流管图,用不同粗细和颜色的空间管道表现物体在空间的流动特征,其调用格式为:
(1)streamtube(X,Y,Z,U,V,W,startxstartystartz绘制三维矢量数据UVW的流管图,数组XYZ定义了U、V、W的坐标,startxstartystartz定义了流管图的起点位置。
(2)streamtube(U,V,W,startxstartystartz绘制三维矢量数据U、V、W的流管图,假定数组X、Y、Z由【X,Y,Z】=meshgrid(1:N,1:M,1:P)定义,其中【M,N,P】=size(U)
(3)streamtubevertices,X,Y,Z,divergence预先计算的流线顶点和差异。vertices为流线顶点的单位数组,X、Y、Z、cavspeed为三维数组。
(4)streamtubeverticesdivergence数组X、Y、Z由【X,Y,Z】=meshgrid(1:N,1:M,1:P)定义,其中【M,N,P】=sizedivergence
(5)streamtubeverticeswidth使用矢量的单位数组width确定流带的宽度,verticeswidth的每一对应元素的大小必须相同,width也可以是一个标量,定义所有流管的宽度。
(6)streamtubevertices自动选择宽度。
(7)streamtube(.scalen]scale参数确定流管的宽度,n为沿圆管周围分布的点数,缺省时scale=1,n=20。

(8)h=streamtube(.返回图形对象句柄。5流锥图
coneplot函数在三维向量场中用圆锥体绘制速率向量图,在这里绘制向量空间数据的速率向量圆锥体图,该数据代表方形空间区域中气流的流动。最后生成的图形采用了一些方法使得数据显示的效果更好,包括:
1锥体图形表示气流速率的大小和方向。
2据边界处的分片面板表示三维区域内部圆锥体的可视
化承接。
3定方向的光照提供了圆锥体方位的视图序列。4过选择观点、投影类型和放大来最好地重现数据的内容
信息。
实验所用软件与版本:操作平台:Window7操作系统硬件设备:台式机软件:MATLAB7.0
实验过程记录(含基本步骤、主要程序清单及异常情况记录等)实验内容:
.利用MATLAB中所提供的数据集wind绘制流线图。调入数据wind,创建变量并绘制流线图:程序如下:loadwind
[sx,sy,sz]=meshgrid(80,20:10:50,0:5:15;

h=streamline(x,y,z,u,v,w,sx,sy,sz;set(h,'Color','red'view(3
.利用MATLAB中所提供的数据集wind绘制流点图。调入数据wind,绘制流线图和流点动画图:程序如下:clear
loadwind
[sxsysz]=meshgrid(80,20:1:55,5;verts=stream3(x,y,z,u,v,w,sx,sy,sz;s1=streamline(verts;
iverts=interpstreamspeed(x,y,z,u,v,w,verts,.025;axistight;view(30,30;daspect([11.125]

camprojperspective;camva(8set(gca,DrawMode,fastboxon
streamparticles(iverts,35,animate,10,ParticleAlignment,o
n
3.利用MATLAB中所提供的数据集wind绘制流带图。调入数据wind,绘制流带图:程序如下:clear
loadwind
[sxsysz]=meshgrid(80,20:10:50,0:5:15;daspect([111]
streamribbon(x,y,z,u,v,w,sx,sy,sz;

axistightshadinginterp;view(3;
camlight;lightinggouraud


.利用MATLAB中所提供的数据集wind绘制扭曲流带图。调入数据wind,绘制扭曲流带图:程序如下:
clearloadwind
[sxsysz]=meshgrid(80,20:10:50,0:5:15;

daspect([111]
verts=stream3(x,y,z,u,v,w,sx,sy,sz;cav=curl(x,y,z,u,v,w;spd=sqrt(u.^2+v.^2+w.^2.*.1;streamribbon(verts,x,y,z,cav,spd;axistightshadinginterpview(3
camlight;lightinggouraud

.利用MATLAB中所提供的数据集wind绘制流管图。调入数据wind,绘制流管图:程序如下:

clear
loadwind
[sxsysz]=meshgrid(80,20:10:50,0:5:15;daspect([111]
streamtube(x,y,z,u,v,w,sx,sy,sz;view(3axistightshadinginterp;
camlight;lightinggouraud

实验结果报告与实验总结:
通过本次试验,我对Matlab有了更多的了解,知道它应用范围之广、作用之大。此高级语言可用于技术计算,二维和三维图形图形函数可用于可视化数据,各种工具可用于构建自定义的图形用户

界面,自带仿真系统。
友好的工作平台和编程环境,简单易用的程序语言,强大的科学计算机处理能力,出色的图形处理功能。
体积可视化运用计算机图形学或一般图形学的原理和方法,将计算等产生的大规模数据转换为图形、图象,以直观的形式表示出来。它涉及计算机图形学、图象处理等多个研究领域。
思考与深入(补充
本实验完成了从几个视角来分析了流过北美洲的气流变化,使我们能更直观的了解气流变化的情况。成功之因,借鉴于《数学实验教程》和《基于MATLAB的数学实验》两本书,不足的方面,运用函数的例子过少。教师评语:

本文来源:https://www.2haoxitong.net/k/doc/4ab71e6cf01dc281e53af0a9.html

《数学实验报告.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式