Effacer les filtres
Effacer les filtres

Drawing a hyperboloid with polar coordinates

8 vues (au cours des 30 derniers jours)
Szabolcs Simon-Guth
Szabolcs Simon-Guth le 5 Nov 2021
Commenté : Mathieu NOE le 8 Nov 2021
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!

Réponse acceptée

Mathieu NOE
Mathieu NOE le 5 Nov 2021
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 commentaires
Szabolcs Simon-Guth
Szabolcs Simon-Guth le 5 Nov 2021
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! :)
Mathieu NOE
Mathieu NOE le 8 Nov 2021
My pleasure !

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by