MATLAB: 3D plot rotate

3d plotsplotsurf

Hi all,
I have a 3D surf plotted in fig. 1 with axis X, Z and Y
Figure 1
I want to rotate the figure to get something like shown in fig.2
Figure 2
PS: Figure 2 is from book, I am just trying to generate similar figure using matlab. Both are same it's just about plotting in such a way that Y is in place of Z

Best Answer

Use the rotate function.
EDIT — (16 Apr 2020 at 13:35)
Using your posted code and rotate:
x = [0:0.01:1];
z = [0:0.01:1];
for i = 1:length(x)
for j = 1:length(z)
y1(i,j) = -sqrt(x(i) * z(j));
end
end
for i = 1:length(x)
for j = 1:length(z)
y2(i,j) = sqrt(x(i) * z(j));
end
end
h(1) = surf(x,z,y1);
hold on
h(2) = surf(x,z,y2);
hold off
rotate(h, [1 0 0], 90)
produces:
If you want only the grids without the patch colours, add:
set(h, 'FaceColor','none')
to produce:
.
Related Question