显示发散与流管
什么流管可以显示
流管类似于流线,除了流管有宽度之外,它提供了另一个维度,您可以使用它来表示信息。
默认为MATLAB®图形显示矢量场的散度由管的宽度。您还可以为每个管顶点定义宽度,从而将其他数据映射到宽度。
这个例子使用了以下技巧:
流管以指示流场中的矢量方向和散度
风
数据集将彩色的平面切片,以表示与等高线重叠的气流速度,以增强能见度
输入包括体积坐标、矢量场分量和流管的起始位置。
1.加载数据并计算所需的值
加载数据并计算绘制图表所需的值。这些值包括:
切片平面的位置(最大
x
、最小y
,和海拔高度的值)最低
x
值作为流管的开始风速(矢量场的大小)
荷载风xmin = min(x(:));Xmax = max(x(:));Ymin = min(y(:));Alt = 7.356;% z值为切片和流管平面Wind_speed =√(u。^2 + v ^2 + w.^2);
2.绘制切片平面
绘制切片平面(片
)和设置表面
属性创建平滑着色的切片。使用16种颜色hsv
colormap
.
Hslice = slice(x,y,z,wind_speed,xmax,ymin,alt);set(hslice,'FaceColor','interp','EdgeColor','none') colormap hsv(16)
3.添加等高线切片平面
添加等高线(contourslice
)到切片平面。调整等高线间隔,使线条与切片平面中的颜色边界匹配:
调用
caxis
来获取当前的颜色限制。设置所使用的插值方法
contourslice
来线性
匹配所使用的默认值片
.Color_lim = caxis;cont_interval = linspace(color_lim(1),color_lim(2),17);Hcont = contourslice(x,y,z,wind_speed,xmax,ymin,…alt、cont_intervals“线性”);集(hcont,‘EdgeColor’,。4 .4 .4],'LineWidth',1)
4.创建流管
使用meshgrid
为流管的起点创建数组,从最小值开始x
取值范围为20 ~ 50英寸y
,并躺在一个平面内z
(对应于其中一个切片平面)。
流管(廉管道
)绘制于指定位置,并按预设宽度缩放至1.25倍,以强调散度(宽度)的变化。向量[1.25 30]中的第二个元素指定了沿管子周长的点数(默认值是20)。您可能希望随着管子尺寸的增加而增加这个值,以保持管子的光滑外观。
设置数据纵横比(daspect
)廉管道
.
流管是表面对象,因此可以通过设置表面属性来控制它们的外观。这个示例设置表面属性,以提供明亮的红色表面。
[sx,sy,sz] = meshgrid(xmin,20:3:50,alt);daspect ((1 1 1))%在调用streamtube之前设置DARhtubes =廉管道(x, y, z, u, v, w, sx, sy,深圳,30 [1.25]);集(htubes,‘EdgeColor’,‘没有’,‘FaceColor’,‘r’,……“AmbientStrength”。5)
5.定义视图
定义视图并添加照明(视图
,轴
volumebounds
,投影
,camlight
).
view(-100,30) axis(volumebounds(x,y,z,wind_speed)) set(gca,'Projection','perspective') camlight left