Slice with temperature and position
1 次查看(过去 30 天)
显示 更早的评论
Hi all, I have a standart cubic grid x, y, z and I have a temperature associated to each triplet. So my database is in 4D (x,y,z,T). I was able to visualize the temperature with scatter3, but it is not the representation I want...
I would like to use slice() or a function like this to be able to visualise different plane inside the data. But when I try to call the slice function, they ask for volumetric data insteat of array. I search for ways to transform my data in volumetric data, but I didn't found anything...
My question is: is there a way to transform my data into a volumetric data so that I can have a sliced representation (using slice() or another similar function).
My data is linked to the message and
x=A(:,1);
y=A(:,2);
z=A(:,3);
T=A(:,4);
Thank you in advance for your help!
0 个评论
采纳的回答
Bjorn Gustavsson
2019-5-7
To use slice you first have to re-interpolate your data to a regular 3-D grid. Depending on your matlab-version you can use: griddata, TriScatteredInterp, scatteredInterpolant. They have slightly different calling syntax. This is how I would use scatteredInterpolant:
F = scatteredInterpolant(A(:,1:3), T,'natural');
X = linspace(min(A(:,1)),max(A(:,1)),59);
Y = linspace(min(A(:,2)),max(A(:,2)),61);
Z = linspace(min(A(:,1)),max(A(:,1)),63);
[X,Y,Z] = meshgrid(X,Y,Z);
T3D = F(X,Y,Z);
slice(X,Y,Z,T3D,12,32,43),shading flat
HTH
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!