Drawing a hyperboloid with polar coordinates

Hi all!
I have received the following problem to solve:
Draw the surface of the hyperboloid with the equation:
when
Also, the polar coordinates for x and y must be used, i.e.:
I have converted the equation of the hyperboloid so that it became:
I could then express z as:
I have the following code so far:
r = linspace(0,1,21);
a = linspace(0,2*pi,63);
[R,A] = meshgrid(r,a);
X = R.*cos(a);
Y = R.*sin(a);
Z = square((R.^2)-1);
surf(X,Y,Z);
axis equal
However, when ever I run the program I get a cylinder instead. I think the problem might be that the values of z should be between -3 and 3, however I do not know how to express this in the code. I would appricate any help that I get. Thank you for everyone in advance!

 Accepted Answer

hello
you have to start from z and then compute r and not vice versa
also square root function is sqrt and not square
z = linspace(-3,3,21);
a = linspace(0,2*pi,63);
[Z,A] = meshgrid(z,a);
R = sqrt((Z.^2)+1);
X = R.*cos(A);
Y = R.*sin(A);
surf(X,Y,Z);
axis equal

2 Comments

Alright! Thank you very much for the help! I really appreciate it. I'm new to MATLAB and did not think of doing it the other way around. Much obliged! :)

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!