MATLAB Answers

# 3D grid from a large 3D matrix

6 views (last 30 days)
Hans123 on 23 Jun 2020
Commented: KSSV on 23 Jun 2020
I have a 3D matrix, .mat file attached in this thread, which has a 200x200x600 matrix has 5021 non-zero values and 23.9 million zero values.
It is a cuboid grid (x and y = -200:200 and z = -600 to 600) that contains charge data.I used the vol3d v2 function to visualize the 3D cuboid grid that I have, however the number of zero values dilute the non-zero values making it unable to observe the grid properly.
I believe obtaining a slice of the grid at x=y=0 would provide some insights as how the charge is distributed (this is a charge grid), however I am unable to create a meshgrid for the co-ordinate axes where x=y=-200:200 and z=-600:600
The in-built MATLAB app - volumeViewer yeilds a similar result. Hope you could provide some direction, I have attached the .mat file containing the 200x200x600 matrix if it is any help.

#### 0 Comments

Sign in to comment.

### Accepted Answer

KSSV on 23 Jun 2020
Edited: KSSV on 23 Jun 2020
load Q3D.mat ;
x = linspace(-200,+200,200) ;
y = linspace(-200,+200,200) ;
z = linspace(-600,+600,600) ;
[X,Y,Z] = meshgrid(x,y,z) ;
% give your range
xslice = [50:100] ;
yslice = [] ;
zslice = 0 ;
slice(X,Y,Z,Q3D,xslice,yslice,zslice)

#### 5 Comments

Show 2 older comments
Hans123 on 23 Jun 2020
The slice shows a complete black plane - where there should be non-zero data and majority zero data. Could you help point out the reason for this
Hans123 on 23 Jun 2020
^I managed to fix that issue, my mesh is too fine. I set my edgecolor to non. Thanks KSSV
KSSV on 23 Jun 2020
Hey perfect.....yes edgecolor is an option...also try shading interp after plot.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!

Translated by