3D-plot of circular elements inside a matrix

Hi all,
I want to use meshc command and draw some elements inside a matrix that the elements indexes make a circle. for example in matrix A , I want to draw just the elements greater than 0:
A=[ 0 0 2 0 0;
0 1 3 2 0
3 4 2 1 3
0 2 3 5 0
0 0 4 0 0];
I want to eliminate the elements that are zero and draw the other elements in 3D. by doing so, we can clearly see the X-Y plane contours in 3-D plot.
Any reply is really appreciated.
Thanks

3 Comments

Mehdi replies:
"Is there anybody here? Any suggestion?"
What do you expect as a result? Okay, we do _something_ to the zero elements, I'm not clear on what. Then we do _something_ and magically have a 3-d shape/plot. This is not clear to me. Please explain the two somethings and the expected result.
as you can see there are some zero elements at the corners of matrix A. I want to plot matrix A using 'meshc', without plotting zeros. just positive elements.

Sign in to comment.

 Accepted Answer

A=[ 0 0 2 0 0;
0 1 3 2 0
3 4 2 1 3
0 2 3 5 0
0 0 4 0 0];
A(~A) = nan; %nan out the zeros
meshc(A)

1 Comment

Thanks a lot.
This is what I was looking for, exactly. :)

Sign in to comment.

More Answers (1)

Mehdi
Mehdi on 7 May 2012
Another thing,
Suppose that obtained a matrix like A, using Monte Carlo simulation by running a program so many times. But the final result of A is jagged when we plot it using 'meshc'.
How can we make it smooth?

3 Comments

Filter it somehow. Perhaps conv2() would be your friend (you would want to do this before NaNing out the zeros)
Thanks for your help. as you know conv2() is a two dimensional convolution. but how to find the other matrix to convolve with A?! I think it is so important. how should we find B in a way that the shape of A doesn't change after convolution?!!
I used 'smooth' command and the result was so good.
Thank you anyway

Sign in to comment.

Categories

Find more on Graphics Performance 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!