Slice with temperature and position

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!

 採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2019 年 5 月 7 日

0 投票

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

4 件のコメント

Gab D
Gab D 2019 年 5 月 8 日
Hi Bjorn,
Thank you very much! It worked perfectly.
I tried with griddedInterpolant() since I though I had gridded data, but it didn't work. I went back to scatteredInterpolant() and it worked! After that, I didn't try the other function you proposed. If I have r2018a, do you recommend scatteredInterpolant?
Slice_test.jpg
Bjorn Gustavsson
Bjorn Gustavsson 2019 年 5 月 8 日
編集済み: Bjorn Gustavsson 2019 年 5 月 8 日
Great that it worked. For legacy-reasons (tardiness and rumours about HG2) I'm still working in an older release than 2018 - so I don't know if there's additional new functions for scattered interpolation, but Mathworks are usually very good with documenting new functions doing similar tasks in the SEE ALSO-section of the help - so check the help for scatteredInterpolant and see if you're lead somewhere further. The functionality should be pretty much the same, perhaps with improved smoothness, speed and whatnot...
Gab D
Gab D 2019 年 5 月 8 日
This is how I got the idea to try the griddedInterpolant() function before the scatterInterpolant(). I agree that the help function and the SEE ALSO tab are very usefull!
Thank you again for your help!
Bjorn Gustavsson
Bjorn Gustavsson 2019 年 5 月 8 日
My pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by