Slice and streamslice along diagonal
Mostrar comentarios más antiguos
Hello,
I have X,Y,Z,U,V,W 3D arrays of the size 101x201x4. I plotted slice and streamslie in the x-z plane along y = -3 as shown in the attached figure (red line). The code is:
[X,Y,Z] = meshgrid(-4:0.05:6,-5:0.05:0,1:4);
% Plot streamlines for the given cross-section
ssh = streamslice(X,Y,Z,U,V,W,[],-3,[]);
set(ssh,'Color',[0 0 0],'LineWidth',2)
hold on
view(0,0)
% Plot volumetirc slice
Vel = sqrt(U.^2+V.^2+W.^2)
sh = slice(X,Y,Z,Vel,[],-3,[]);
colormap jet
set(sh,'EdgeColor','none',...
'FaceColor','interp',...
'FaceAlpha','interp');
alpha('color');
% c = colorbar('Location','eastoutside');
view(0,0)
zlim([0.5,4]); zl = zlim; zticks([1,2,3,4])
How can I plot the horizontal vs. z direction along the green line in the attached figure? That is, how to specify planes that are not at constant x,y or z?
Attahed is also a plot of what I would like in the diagonal direction, but I made it at y = -3 (red line in Slice.png)
Thank you,
djr
Respuesta aceptada
Más respuestas (1)
Ameer Hamza
el 2 de Mayo de 2020
Editada: Ameer Hamza
el 2 de Mayo de 2020
See this example, on how to create an arbitrary surface for the slice function: https://www.mathworks.com/help/releases/R2020a/matlab/ref/slice.html#mw_e9ea56fc-b860-4fbe-99d5-6c3e4725132f
You will need to do something like this. Suppose the equation of the green line is z=2*x (assuming x-axis is the horizontal axis)
x_range = -1:0.1:1;
y_range = -5:0.1:1;
[X_grid, Y_frid] = meshgrid(x_range, y_range);
Z = 2*x;
slice(X,Y,Z,V,X_grid,y_grid,Z)
3 comentarios
Ameer Hamza
el 2 de Mayo de 2020
It seems from the documentation of streamslice function that it might not be possible to create it along a specific plane. It just creates it parallel to the coordinate planes.
Try this simple example. I used a small grid to illsutrate the idea.
load wind
[xg, yg] = meshgrid(80:5:90, 20:2:25);
zg = 2*xg+yg;
streamslice(x,y,z,u,v,w,xg,yg,zg)
view(3)
djr
el 2 de Mayo de 2020
Categorías
Más información sobre Lighting, Transparency, and Shading en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


