# How to calculate the volume of a 3D plot defined by a matrix

7 Ansichten (letzte 30 Tage)
Wissem-Eddine KHATLA am 16 Dez. 2021
Hi everyone,
So basically, I am trying to calculate a volume. More precisely, I have a height field that is defined in every point of a 2D plane and nammed "h_real" in my code. This quantity is a 3D matrix because each height field is computed at every timestamp so for each time frame corresponds a given height field.
I would like to estimate the evolution of the volume associated to the height's progression during the considered time period (which is the length of the 3D matrix). I have tried this script but the result obtained is not accurate...
Could someone help me to find a new strategy to do so please ?
for i = 1:length(h_real)
volume(i) = sum(h_real(:,:,i),'all')*(scale^2)*(1e6);
plot(volume)
ylabel('Volume (ml)')
xlabel('Number of images')
title('Evolution du volume au cours du temps');
end
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Matt J am 16 Dez. 2021
Bearbeitet: Matt J am 16 Dez. 2021
It looks fine, though I would do it this way:
volume=reshape( sum(h_real,[1,2]), 1,[])*(scale^2)*(1e6);
plot(volume)
ylabel('Volume (ml)')
xlabel('Number of images')
title('Evolution du volume au cours du temps');
##### 3 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Matt J am 16 Dez. 2021
Bearbeitet: Matt J am 16 Dez. 2021
So you think that if this method doesn't give me a relevant result it's because there is something wrong with my initial data "h_real" ?
Yes.
Don't you think that using the "sum" function is a little bit wrong in a certain way ?
Not if your data is smooth. You might be able to do a bit better with trapz().
volume=reshape( trapz(trapz(h_real,1),2), 1,[])*(scale^2)*(1e6);
Wissem-Eddine KHATLA am 16 Dez. 2021
Thank you for your answers : it helps me to reconsider again my initial experimental results.
Best regards.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu 2-D and 3-D 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!

Translated by