你如何在柱坐标系中创建一个冲浪的阴谋?

142(30天)
一般来说,情节是冲浪冲浪的语法(X, Y, Z)。我有u = F (r, z)。我想做面块u为多个横截面在z = h1, h2, h3,等。有一个简单的方法来创建一个冲浪情节在圆柱坐标,即。,这将是analagous语法:冲浪(r,φ,u) u = u (r, h1)在哪里?

接受的答案

乔纳森Epperl
乔纳森Epperl 2012年11月19日
甚至更容易,记住你不是被迫把一个变量 X 的第一个参数 冲浪 ,你所需要的是一个参数化。在你的例子中,假设您有向量 r φ 。然后让他们到一个网格,得到一个矩阵,使用你的函数F的z值,只是剧情:
[R]φ= meshgrid (R,φ);
Z = F (R,φ);%,假设你的函数是矢量化
冲浪(r . * cos(φ),r *罪(φ),Z);
1评论
杰里米·皮尔森
杰里米·皮尔森 2012年11月19日
乔纳森,
工作好了!我不得不修改代码一点让它工作以来F r和z的函数,而不是r和φ,但是你的小费给我正确的方向。这是我输入的代码:
> > (r,θ)= meshgrid (linspace (0、0.7、30), linspace(0, 2π,30));
> >通量= F (r, meshgrid (linspace (0.4, 0.4, 30)));%的新meshgrid定义z
> >浏览(r。* cos(θ),r。*罪(θ),通量);
我可能没有创建和额外meshgrid并定义所有linspace但我只是摆弄它,直到它工作。
谢谢你所有的帮助!
杰里米

登录置评。

更多的答案(2)

马特·J
马特·J 2012年11月17日
使用TriScatteredInterp插入数据到一个笛卡儿网格。然后使用冲浪像往常一样情节。

Teja Muppirala
Teja Muppirala 2012年11月19日
您可以使用POL2CART r和θ的数据转换为x / y,然后调用冲浪。
(R, TH) = ndgrid (0:0.1:5 linspace(0, 2 *π,41));
F = @ (r, th)罪(th)。* sinc (1 + r);
Z = F (R, TH);
(X, Y) = pol2cart (TH, R);
冲浪(X, Y, Z);

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!