Why do I get an error trying to slice a 3D?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1483341/image.jpeg)
Error using matlab.graphics.chart.primitive.Surface
Error setting property 'CData' of class 'Surface':
Value must be a 2D or 3D array of numeric type.
clc
x = linspace(0, 3, Nx*3);
y = linspace(0, 1, Ny*1);
z = linspace(0, 1, Nz*1);
[X, Y, Z] = meshgrid(x, y, z);
EQ_gy = cos(2*pi*X).*sin(2*pi*Y) + cos(2*pi*Y).*sin(2*pi*Z) + cos(2*pi*Z).*sin(2*pi*X);
[y,z] = meshgrid(linspace(0,1,20));
for off=0.5:0.5:2.5
x = off + zeros(size(z));
surf(x,y,z,EQ_gy)
hold on
end
hold off
xlim([0 2.5])
0 commentaires
Réponses (1)
Walter Roberson
le 15 Sep 2023
you cannot use surf to display solid volumes. See volshow
1 commentaire
Walter Roberson
le 15 Sep 2023
If you have three independent input variables and one dependent output variable, then you should consider: slice or isosurface or volshow or volumeviewer
Voir également
Catégories
En savoir plus sur Basic Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!