How I use a parabola in the xy-plane as base curve for the cylinder?

4 views (last 30 days)
Hi to everyone, I'm really new how to this site so to MatLab, too.
So here is my problem: Here is the code to create a cylinder where my base in the xy-plane one ellipse is:
m = 20; n = 50; u = linspace(0, 1, m); v = linspace(0, 2*pi, n); [U, V] = meshgrid(u,v);
a = 3; b = 5;
X = cos(V)*a + U*0; Y = sin(V)*b + U*0; Z = V*0 + U*10;
s = surf(X, Y, Z);
How can I now edit/modify my code to use parabola or hyperbola as base curve?
Thanks.

Accepted Answer

Roger Stafford
Roger Stafford on 22 Apr 2015
For a hyperbola, x^2/a^2-y^2/b^2 = 1, replace the two lines for X and Y by:
X = a*cosh(V);
Y = b*sinh(V);
For a parabola, y = a*x^2, use:
X = V-pi;
Y = a*X.^2;
  2 Comments
Roger Stafford
Roger Stafford on 23 Apr 2015
To get a better hyperbola also change v:
v = linspace(-1,1,n);
This shows only one of its two branches. To get the other branch write
X = -a*cosh(V);
Y = -b*sinh(V);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!