Plotting data from a 4D cell.

6 Ansichten (letzte 30 Tage)
ErikaZ
ErikaZ am 3 Aug. 2018
Bearbeitet: ErikaZ am 19 Feb. 2020
I have a 4D cell with the following sizes A{17,10,16,10}(2,3). However, it only contains data on:
% A{d,sw,hLS,cv}
d= [4 5 6 7 8 9 10 13 17];
sw = [1 2 4 6 8 10];
hLS=[2 4 6 8 10 12 14 16];
cv=1:10;
I would like to plot all the values of
A{4:17,1:10,2:16,1}(1,1)
in a 4D surface where
x= d
y= sw
z= hLS
values of A = color
This is the first time working with 4D cells and I have only plotted 2D plots.
I know there are the commands meshgrid(), surf(), scatter3() but I do not know how to apply them and how to format/extract my data. I was thinking of either doing a slanted/diamond/pryamid surface were hLS =16 is the highest points and hLS = 2 the lowest points. Or a 8 slices for the 8 levels of hLS.
Thanks!
  1 Kommentar
AliAlemana
AliAlemana am 14 Nov. 2018
Dear ErikaZ,
did you manage to solve the problem? I have a similar issue and I was wondering if your answer might help me.
Thanks!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

ErikaZ
ErikaZ am 19 Feb. 2020
Bearbeitet: ErikaZ am 19 Feb. 2020
% A{d,sw,hLS} A was averaged over cv first
layers=[2 6 10 16];
A([1:3,11,12,14:16],:,:)=[]; A(:,[3,5,7,9],:)=[];
function Plot4D( SGRAM,layers,last_layer)
hls=[1:last_layer];
pi=[1:9];
sw=[1:6];
[SW,PI,HLS] = meshgrid(sw,pi,hls);
SWslice = [];
PIslice = [];
HLSslice = layers;
surfHandless = slice(SW,PI,HLS,SGRAM,SWslice,PIslice,HLSslice);
end

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by