Calculate volume below a 3D points
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
sarah Abdellahi
am 27 Jun. 2019
Beantwortet: darova
am 28 Jun. 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 Kommentare
Akzeptierte Antwort
darova
am 28 Jun. 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 Kommentare
Weitere Antworten (1)
infinity
am 27 Jun. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!