How to extract data from a slice?

12 Ansichten (letzte 30 Tage)
John
John am 1 Dez. 2016
Beantwortet: KSSV am 1 Dez. 2016
The example in "doc slice" is very good:
hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+1);
rotate(hsp,[1,-1,1],30)
xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
delete(hsp)
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
slice(x,y,z,v,xd,yd,zd);
How can the data of this slice be extracted as a "2D matrix slice" and used later to show with imshow for example?

Akzeptierte Antwort

KSSV
KSSV am 1 Dez. 2016
Already you did it...The code you gave has the way to extract the data you want.
hsp = surf(linspace(-2,2,20),linspace(-2,2,20),zeros(20)+1);
rotate(hsp,[1,-1,1],30)
xd = get(hsp,'XData');
yd = get(hsp,'YData');
zd = get(hsp,'ZData');
delete(hsp)
[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);
v = x.*exp(-x.^2-y.^2-z.^2);
hss = slice(x,y,z,v,xd,yd,zd);
xs = get(hss,'XData');
ys = get(hss,'YData');
zs = get(hss,'ZData');
cs = get(hss,'CData');
figure
surf(xs,ys,zs,cs) ;
You have the data xs,ys,zs,cs in your hand now.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by