Help me about sphere ?

I have this code to draw haft of sphere x^2 + y^2 + z^2 = 1, z>0. but it have error. help me to fix it. thanks very much.

Answers (1)

Mischa Kim
Mischa Kim on 27 May 2014
Edited: Mischa Kim on 27 May 2014
Nguyen, use instead
z = real(sqrt(1 - x.^2 - y.^2));
to retain the real part only.

3 Comments

Nguyen Trong Nhan
Nguyen Trong Nhan on 27 May 2014
Edited: Nguyen Trong Nhan on 27 May 2014
oh thank. but why I have to use real(). these are positive numbers so the square root of them are also the real number, why does it appear complex number here ?
Mischa Kim
Mischa Kim on 27 May 2014
Edited: Mischa Kim on 27 May 2014
In a perfect world, yes. However, in numerical computations zero is not always (exactly) equal to zero. Check out this answer for reference. If you remove the semi-colon from
z = sqrt(1 - x.^2 - y.^2)
you'll notice that there are small non-zero imaginary parts.
ah Mischa Kim, could you explain me when I need to use the eval and double funtions in matlab ?

Sign in to comment.

Categories

Find more on App Building in Help Center and File Exchange

Products

Asked:

on 27 May 2014

Commented:

on 27 May 2014

Community Treasure Hunt

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

Start Hunting!