I don't see the problem. However, I would note that you have only 4 points, so the surface is pretty difficult to create in an intelligent way. And the use of any interpolation across the center of a domain like this can produce some interesting interpolation artifacts, if you know exactly where to look. (Having worked with interpolation in multiple dimensions for many years, I can attest to that as fact.) Anyway, what you did seems to produce something that I fully expect.
For example, how would I get a slice through that region? For eample, fix x at zero, then vary y?
[xData,yData,zData]
ans =
0 85 0.5695
85 0 0.1766
0 -85 -0.2984
-85 0 -0.0129
So my expectation would have z varying from -0.2984 to 0.5695. The shape of that curve along this path will probably be something smooth, but it will have some shape. Not necesarily just a straight line.
xint = zeros(1,50);
yint = linspace(-85,85,50);
zint = fitresult(xint,yint);
plot(yint,zint,'b')
So not at all unreasonable. Consistent with the limited data at the endpoints. Now, without copying all of the code you wrote, I'll add these last two lines to your code.
hold on
H = plot3(xint,yint,zint,'ko');
I fail to see the problem. I see a line with a lot of black o's that follows the shape of the surface you created, from corner to corner of that region. Now, where do you see a problem in what I did? I don't. The curve looks eminently reasonable, and is consistent with the plotted surface. Did you expect a straight line connecting those two end points?