Volume integration under surface fitting
Show older comments
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
Accepted Answer
More Answers (1)
Shashank Prasanna
on 16 Feb 2013
0 votes
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 Comment
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!