MATLAB Answers

Plotting a 3-D Matrix, but only for some points

5 views (last 30 days)
Mauricio Fortuna
Mauricio Fortuna on 22 Nov 2019
Answered: Bob Nbob on 22 Nov 2019
I have 3 1 dimensional arrays representing XYZ coordinates. I also have a 3D array that corresponds to that, wherein each value is either 1 or 0. I'd like to create a 3-d surface plot where whenever its corresponding point in the matrix is one, it is plotted, whereas whenever it's 0 it is not (ie: if all values were 1 it would be a solid cube).
I have difficulty using normal means as each (X,Y) value has more than one z value corresponding to it.
Which function can I use to do this?
Thanks in advance,

  0 Comments

Sign in to comment.

Answers (1)

Bob Nbob
Bob Nbob on 22 Nov 2019
I would suggest using scatter3 to make the actual plot. I would suggest using something like find to identify the locations of the 1 values. You may need your x, y, and z matrices if there is an offset, but the 3D matrix should give you the localized indices.
[r,c,s] = ind2sub(size(locationsmatrix),find(locationsmatrix == 1));
scatter3(r,c,s);

  0 Comments

Sign in to comment.

Sign in to answer this question.