如何在Matlab中为一个表面赋值?

3

我正在尝试使用MATLAB构建一个三维CFD管道流模型,并希望在管壁上分配值(边界条件)。我已经尝试使用cylinder函数来构建管道:

[X Y Z] = cylinder

但是这会在表面上产生几个点,这是不够的。

另外,有没有更好的方法使用MATLAB构建3D计算流体力学管道流模型?


5
为了获得更多积分,您可以在“圆柱体”函数中指定另外两个参数:“cylinder(r, n)”,其中“r”是剖面曲线,“n”是其周围等间距点的数量。例如,“cylidner(1, 100)”创建一个单位半径且具有100个点的圆柱体。这符合您的要求吗? - Eitan T
1个回答

0
我会在你的CFD对象中使用一个结构体来嵌入信息。
% radius = 10
r = 10;
% number of radial points = 30
n = 30;
CFD_cyl = struct;
[CFD_cyl.X, CFD_cyl.Y, CFD_cyl.Z] = cylinder(r, n);
% Creates a value vector in the CFD_cyl struct that can relate to the cylinder X, Y, Z
CFD_cyl.value = CFD_cyl.X(:,:) + CFD_cyl.Y(:,:) + CFD_cyl.Z(:,:);

根据您想要表达的有用关系,相应地更改值字段。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接