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

5 ビュー (過去 30 日間)
Mauricio Fortuna
Mauricio Fortuna 2019 年 11 月 22 日
回答済み: Bob Thompson 2019 年 11 月 22 日
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,

回答 (1 件)

Bob Thompson
Bob Thompson 2019 年 11 月 22 日
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);

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by