How to compare between two surface plots in matlab?
古いコメントを表示
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?
採用された回答
その他の回答 (1 件)
Ameer Hamza
2020 年 11 月 12 日
Sometime plotting the difference can be helpful for visualization
figure(1)
surf(X,Y,A-B)
7 件のコメント
Adi Nor
2020 年 11 月 12 日
Ameer Hamza
2020 年 11 月 12 日
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
2020 年 11 月 12 日
Ameer Hamza
2020 年 11 月 12 日
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
2020 年 11 月 12 日
Ameer Hamza
2020 年 11 月 12 日
Try the code in my last comment.
Adi Nor
2020 年 11 月 12 日
カテゴリ
ヘルプ センター および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
