필터 지우기
필터 지우기

Drawing a hyperboloid with polar coordinates

조회 수: 8 (최근 30일)
Szabolcs Simon-Guth
Szabolcs Simon-Guth 2021년 11월 5일
댓글: Mathieu NOE 2021년 11월 8일
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!

채택된 답변

Mathieu NOE
Mathieu NOE 2021년 11월 5일
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
Szabolcs Simon-Guth
Szabolcs Simon-Guth 2021년 11월 5일
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 2021년 11월 8일
My pleasure !

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by