I found a possible solution with the help of some collegue.
When 'grid' is the matrix containing an 'x' and a 'z' and a 'value' column (each having the same number of elements):
[X,Y] = ndgrid(linspace(min(grid(:,1)),max(grid(:,1)),150),linspace(min(grid(:,2)),max(grid(:,2)),150));
Z = griddata(grid(:,1),grid(:,2),grid(:,3),X,Y,'cubic');
contourf(X,Y,Z)
axis equal
scatter(grid(:,1),grid(:,2),10,grid(:,3),'wx');
So basically
- a grid is generated with a relativly fine resolution (150x150 points)
- the original data is interpolated onto this grid with a cubic interpolation method
- contourf plot is generated and axis is set equal
- the original data points are scattered onto the contourf plot to make sure that the interpretation of the data is somehow more reliable and one can see at once that the areas are interpolated.
I realized in between that the real difficulty is the obstacle area, as is gets wierdly interpolated although there should be no data, as none of the interpolation methods is used to such boundaries or optimized to those.