This is my code so far, how i can i create a 3D surface plot just like the figure below:
X=[1.000, 1.250, 1.500, 1.250, 1.500, 1.750]';
Y=[1.000, 1.000, 1.000, 1.500, 1.500, 1.500]';
Z=[42.2, 42.6, 43.2, 42.1, 42.4, 43.1]';
figure
plot3(X,Y,Z,'mo')
grid on
xlabel('cold water flowrate')
ylabel('hot water flowrate')
zlabel('temperature')

1 Comment

To create a surface place, your Z entry needs to be a matrix (atleast 2x2)

Sign in to comment.

 Accepted Answer

You can interpolate using a scatteredInterpolant to make a matrix over the range of X and Y and then use surf to draw it, but I think you probably need more points to get a nice looking picture.
X=[1.000, 1.250, 1.500, 1.250, 1.500, 1.750]';
Y=[1.000, 1.000, 1.000, 1.500, 1.500, 1.500]';
Z=[42.2, 42.6, 43.2, 42.1, 42.4, 43.1]';
[xi,yi]=meshgrid(X,Y);
f=scatteredInterpolant(X,Y,Z);
zi=f(xi,yi);
surf(xi,yi,zi)

More Answers (0)

Tags

Asked:

on 25 Nov 2021

Answered:

on 25 Nov 2021

Community Treasure Hunt

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

Start Hunting!