Эй, пожалуйста, найдите мой код для interp2, он просто возьмет максимальные значения,
function vq = Linear2dInterpWithClipExtrap(x,y,v,xq,yq);
vq = interp2(x,y,v,xq,yq);
[XMax, idxVMax] = max(x);
[XMin, idxVMin] = min(x);
idxMax = xq > XMax;
idxMin = xq < XMin;
if ~isempty(yq(idxMax));
vq(idxMax) = LinearInterpWithClipExtrap(y,v(:,idxVMax),yq(idxMax));
end
if ~ isempty(yq(idxMin))
vq(idxMin) = LinearInterpWithClipExtrap(y,v(:,idxVMin),yq(idxMin));
end
[YMax, idyVMax] = max(y);
[YMin, idyVMin] = min(y);
idyMax = yq > YMax;
idyMin = yq < YMin;
if ~isempty(xq(idyMax));
vq(idyMax) = LinearInterpWithClipExtrap(x,v(idyVMax,:),xq(idyMax));
end
if ~ isempty(xq(idyMin));
vq(idyMin) = LinearInterpWithClipExtrap(x,v(idyVMin,:),xq(idyMin));
end
function vq = LinearInterpWithClipExtrap(x,v,xq);
vq = interp1(x,v,xq);
[XMax, idxVMax] = max(x);
[XMin, idxVMin] = min(x);
idxMax = xq > XMax;
idxMin = xq < XMin;
vq(idxMax) = v(idxVMax);
vq(idxMin) = v(idxVMin
);