Create 3D plot from 2D contour (length and radius)

I have a 2D axisymmetric contour of a converging-Diverging nozzle as shown below:
I want to turn this contour into a 3D plot, any ideas of what the best way of doing this is? I’ve tried using linspace and mesh grid but I’ve hit a brick wall.
Many thanks, Elliott

 采纳的回答

See this example
z = 0:.1:3;
r = sin(z);
t = linspace(0,2*pi,20);
[T,R] = meshgrid(t,r);
[~,Z] = meshgrid(t,z);
[X,Y] = pol2cart(T,R);
surf(X,Y,Z)

4 个评论

For the 2D contour, I’ve used some loops to generate the values for x and r and save them into two arrays, x and r. Can the above code be altered to use the pre-calculated values in the arrays?
I don't understand. You can use for loop or meshgrid as you wish
Sorry, i was getting a little mixed up, this worked perfectly! thank you very much!
Could you please show me how to get this 3D plot from your initial 2D countour line?

请先登录,再进行评论。

更多回答(0 个)

类别

产品

版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by