Calculate volume below a 3D points
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
sarah Abdellahi
le 27 Juin 2019
Réponse apportée : darova
le 28 Juin 2019
I have a set of x,y,z numbers and would like to calculate the volume beneath the surface that passes through them. The data(T) is attached. x=T(:,1), y=T(:,2), z=T(:,3).
Can you please help me.
I use the followig code:
x=T(:,1);
y=T(:,2);
z=T(:,3);
plot3(x,y,z,'.')
interpZ = @(xi,yi) griddata(x,y,z,xi,yi) %set up interpolation
vol = quad2d(interpZ,min(x),max(x),min(y),max(y)) %volume should be close to 1
I get a Nan and " Non-finite result. The integration was unsuccessful. Singularity likely."
0 commentaires
Réponse acceptée
darova
le 28 Juin 2019
Which volume do you want to calculate? Values of surface are below and above also
I tried rough method: values of Z in each node multiply dx*dy and sum
But the result is not close to 1 ( )
0 commentaires
Plus de réponses (1)
infinity
le 27 Juin 2019
Hello,
There is a problem with the interpolation function which is not good to give us a smooth fuction. If you plot the "interpZ" function with the data of x and y like this
plot3(x,y,interpZ(x,y))
you will see the function of Z now is not single value function anymore.
To solve your problem, you need to find a nother way to approximate the data. Or, you may refer other methods that use numerical approximate directly on your data, for example,
0 commentaires
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!