Volume integration under surface fitting
古いコメントを表示
I have 3 set's of data: x, y and z. Fitting a surface with fit command works well, but i can't find a way to correctly evaluate the volume beneath the surface and above xy plane. I'm getting NaN and warnings: Warning: Non-finite result. The integration was unsuccessful. Singularity likely.
The code i'm using is the following:
load('data.mat')
x=data(:,1);
y=data(:,2);
z=data(:,3);
fitobject = fit([x,y],z, 'cubicinterp');
image
plot(fitobject)
xlabel('Proj_X');
ylabel('Proj_Y');
zlabel('Intensity');
disp('volume')
a=0;
b=40.34;
c=1.634;
d=80.05;
volume_under_fit = quad2d(fitobject,a,b,c,d)
The data sets are in the following file:
Any help will be appreciated. Bruno
採用された回答
その他の回答 (1 件)
Shashank Prasanna
2013 年 2 月 16 日
0 投票
Bruno, quad2d performs a double integral, which must only return the surface integral over the defined surface for the limits you specify.
If you want to compute the volume you should use triplequad:
Also your third file for download is not z.mat but data.mat, hence I couldn't try this out myself.
1 件のコメント
カテゴリ
ヘルプ センター および 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!