点群データから等高線​を作成して、面積を集​計する方法

16 views (last 30 days)
Takaaki Takatsuki
Takaaki Takatsuki on 24 Aug 2023
Answered: Hiro Yoshino on 24 Aug 2023
こんにちは、MATLABでの質問です。
X,Y,Z,C(Cは濃度など)の点群データから任意の値でのサーフェスを作成して体積を求める方法はないでしょうか。
点群の表示はscatter3(x,y,z,5,c,'filled') で出来たのですが、そのあとの処理が見つかりません。
もしくは、
X,Y,Zのデータセットから任意値の等高線を作成して、その等高線に囲まれた面積を修正する方法は無いでしょうか。

Accepted Answer

Hiro Yoshino
Hiro Yoshino on 24 Aug 2023
データ、コードを一緒に入れていただくと、回答者が取り組みやすくなります。
こんな感じで入れてみては?
x = randn(100,1);
y = randn(100,1);
z = randn(100,1);
scatter3(x,y,z);
データをフィットさせます
Fobj = fit([x,y],z,'nearestinterp'); % 最近傍法による曲面近似, 色々とやり方が有ります
% 新しいグリッド
[Xi,Yi] = meshgrid(linspace(min(x),max(y),50),linspace(min(y),max(y),50));
Zi = Fobj(Xi,Yi); % 推定値
ここまでくれば積分も出来る様に思えます:
surf(Xi,Yi,Zi);

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!