When you try to plot a [100 x 100] data into a surface plot (say, using the function surf), and then store it into an image format (say, .jpg), when you try to load this image into MATLAB again, you will not see the same data as the original [100 x 100] data that you tried to plot.
When you're plotting a surface plot, the values within the matrix correspond to the data that is plotted, but when you save it into an image, the pixel values do not correspond to the data points, but instead to other aspects of an image, such as the color (surface color when plotting with surf), axes, coordinates, etc. The .jpg image is stored as a UINT8 3D matrix. The values stored in these two (surface plot figure and the image) are simply not the same, and do not point to the same data in the first place.
If you want to get the same data, I suggest you store it in the form of a .mat file instead. That way, when you load the .mat file into your workspace again, you get the same exact values.
Hope this helps!