How to compare between two surface plots in matlab?
Show older comments
A and B are two 2D matrices with dimensions (length(X), length(Y)) which are function of X and Y vectors. I plot A and B in a 3D graph using surf as follows:
figure(1)
surf(X,Y,A)
hold on
surf(X,Y,B)
hold on
But, the generated figure doesn't show the difference in values between A and B clearly.
Is there any other way where I can compare between A and B in a 3D plot and show the differences between them clearly?
Accepted Answer
More Answers (1)
Ameer Hamza
on 12 Nov 2020
Sometime plotting the difference can be helpful for visualization
figure(1)
surf(X,Y,A-B)
7 Comments
Adi Nor
on 12 Nov 2020
Ameer Hamza
on 12 Nov 2020
Ok. In that case, I think plotting the estimated values as surface, and the original data points as scattered points will be helpful. For example
figure(1)
surf(X,Y,A)
hold on
scatter3(X(:),Y(:),B(:), 'r+')
hold on
Adi Nor
on 12 Nov 2020
Ameer Hamza
on 12 Nov 2020
Ok, If X and Y are vectors then modify the code to this
figure(1)
surf(X,Y,A)
hold on
[Xg, Yg] = meshgrid(X, Y);
scatter3(Xg(:),Yg(:),B(:), 'r+')
hold on
Adi Nor
on 12 Nov 2020
Ameer Hamza
on 12 Nov 2020
Try the code in my last comment.
Adi Nor
on 12 Nov 2020
Categories
Find more on Contour Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!