J'ai un code cfd fortran qui affiche les résultats dans un fichier de résultats binaires. J'ai importé le fichier binaire dans matlab et lu et transformé en une matrice 3d. le code pour le faire est ci-dessous:2d découper dans une matrice 3d créée à partir d'un fichier de données binaires
% function [rtime,itime,dt,nx,ny,nz,deltax,deltay,rlenz,rw] = Read_press3d(press.420000)
% _________________________________________________________________________
% name;
fid = fopen('press.420000', 'rb');
% fid;
rtime = fread(fid, 1, 'float64');
itime = fread(fid, 1, 'int32');
dt = fread(fid, 1, 'float64');
nx0 = fread(fid, 1, 'int32');
ny0 = fread(fid, 1, 'int32');
nz = fread(fid, 1, 'int32');
deltax = fread(fid, 1, 'float64');
deltay = fread(fid, 1, 'float64');
rlenz = fread(fid, 1, 'float64');
rwtoto = fread(fid, nx0*ny0*nz, 'float64');
fclose(fid);
rw = reshape(rwtoto,[nx0,ny0,nz]);
% v = reshape(vtoto,[nx0,ny0,nz]);
% w = reshape(wtoto,[nx0,ny0,nz]);
% u = utoto(1:)
% lag = toto1(1:nx0-1,1:ny0-1)';
% dudn = toto2(1:nx0-1,1:ny0-1)';
%
% % valxy(ny0,:) = valxy(1,:);
% % valxy(:,nx0) = valxy(:,1);
nx = nx0-1;
ny = ny0-1;
Ici, rw
est la pression remodelé dans un seul tableau 257x512x390
. Maintenant, je veux voir la pression dans ce tableau 3D comme un tracé de contour ou le visualiser d'une autre manière utile. Je sais que l'one-way est de créer une tranche 2d à différents endroits dans le plan y-z, ainsi le 512x390
.
J'ai essayé d'utiliser la fonction slice
, mais je n'arrive pas à comprendre comment la faire fonctionner. J'ai seulement les valeurs de la pression stockées dans le tableau 3d. Je n'ai pas les emplacements x, y, z correspondants, mais les longueurs du tableau sont basées sur delta x, y, z, donc en fait la taille de ma matrice 3d devrait correspondre aux coordonnées.
Toute aide sur la façon de dessiner une tranche ou tout autre moyen de visualiser les données sera la bienvenue.
un coup d'oeil à [ ' isosurface'] (http://fr.mathworks.com/help/matlab/ref/isosurface.html) –