Calculate volume below a 3D points
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
sarah Abdellahi
el 27 de Jun. de 2019
Respondida: darova
el 28 de Jun. de 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 comentarios
Respuesta aceptada
darova
el 28 de Jun. de 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 comentarios
Más respuestas (1)
infinity
el 27 de Jun. de 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 comentarios
Ver también
Categorías
Más información sobre Surface and Mesh Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!