It is often tricky comparing data (e.g. your solution to a correct solution) because of outliers and offsets which tend to throw out the axis scaling on your figures and hide the subtle field differences.
MESHCOMPARE simply plots fields on-top of eachother (works on 2D or 3D array pairs), allowing for easy visual inspection of regions of data.
This is mainly facilitated by adding string arguments 'crop', 'rotate', and 'subtract', which applies a graphically selected crop region and/or rotation to all of the datasets being visualized to help show up the differences.
'subtract' simply subtracts the mean from each field pair before viewing.
% Example: 2D
aa1=aa+randn(size(aa))*0.3; % add some noise
bb1=bb+randn(size(bb))*0.3; % add some noise
cc1=real(sin(aa/3)); % compare with similar function
meshcomparecrop(aa,aa1, bb,bb1, cc,cc1)
% Example: 3D, try the code above replacing aa=peaks(50) with:
% Example: crop: try the code above with:
meshcomparecrop(aa,aa1, bb,bb1, cc,cc1,'crop')
% or any combination of crop, subtract, rotate:
meshcomparecrop(aa,aa1, bb,bb1, cc,cc1,'crop','rotate')
Glad to get feedback, suggestions or improvements.
Matt Molteno (2023). meshcompare(varargin) (https://www.mathworks.com/matlabcentral/fileexchange/59520-meshcompare-varargin), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
For 3D arrays, it is possible to specify whether it is rows, columns, or z values which should remain constant to produce the 2D mesh plot.
Made figure axes clearer.