Calculate volume below a 3D points
이전 댓글 표시
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."
채택된 답변
추가 답변 (1개)
infinity
2019년 6월 27일
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,
카테고리
도움말 센터 및 File Exchange에서 NaNs에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


