MATLAB: What’s wrong with the 3d plot

3d plotsMATLABmeshplotsurf

Hello everyone, I want to plot a 3d plot of the function z=2*X.^2-3*(X.*Y)+4*Y.^2 My code is the following: [X,Y]=meshgrid(-2:0.1:2); z=2*X.^2-3*(X.*Y)+4*Y.^2 surf(X,Y,z)
However when the plot appears the z axis is going up to 35 which shouldn't be correct since maximum value of z whould be for X=-2 and Y=2 which gives Z=12. What am I doing wrong?

Best Answer

If you add this max call to your code (after you calculate ā€˜zā€™), you arrive at a different result:
max_z = max(z(:))
max_z =
36
So there is nothing wrong with your plot.
You can find the indices of the maximum with:
[r,c] = find(z == max_z)
that returns [41,1] and [1,41] for the two maxima.