How to calculate the area in table and certain coordinate

3 visualizaciones (últimos 30 días)
mohd akmal masud
mohd akmal masud el 3 de Oct. de 2021
Comentada: C B el 13 de Oct. de 2021
Area Centroid
____ ________________
9 147.67 109.11
27 146.81 108.52
43 147.09 109.7
54 147.81 109.35
12 146.17 134.42
56 147.73 109.46
21 146.48 134.05
53 147.83 109.26
20 147.3 134.25
2 126.5 146
43 147.67 108.63
24 147 134.04
2 126.5 146
45 147.93 108.87
20 147.25 133.95
10 125.5 146.8
37 147.43 108.89
16 147.31 133.56
6 126.17 147
36 147.39 108.81
12 147.92 133.75
6 126.5 147
34 147.32 108.91
12 147.92 133.75
8 126.5 146
29 147.69 109
13 147.54 133.38
8 126.5 146
28 147.71 109.11
7 148.14 134.43
8 126.5 146
28 147.71 109.11
6 148 134.5
7 126.43 145.71
28 147.71 109.11
7 147.29 133.71
1 106 132
8 126.25 145.5
25 147.4 109.08
7 147.29 133.71
1 106 132
5 126.4 145.2
31 147.03 108.87
9 147.33 133.78
2 105.5 132
6 126.17 145
31 147.03 108.87
9 147.33 133.78
1 106 132
3 125.67 144.33
31 147.03 108.87
9 147.33 133.78
31 147.03 108.87
9 147.33 133.78
28 147.43 109.39
10 146.7 133.6
25 147.08 109.4
11 147.55 133.18
28 147.43 109.39
5 146.8 133.2
20 147.7 109.55
3 149 132
12 147.92 109.33
Hi all, I have data above.Anyone know how to calculate the total are ? Let say Inwant calculate the the total are that have coordinate (147 109) and (146 108), is it like this the command sum([146:147 108:109])?

Respuesta aceptada

C B
C B el 3 de Oct. de 2021
Editada: C B el 3 de Oct. de 2021
Hello @mohd akmal masud, You need to take out Area index then sum it where centroid is within you range.
You can do that like following
Area = [9;27;43];
Centroid = [146.67 108.11; 146.81 109.52; 146.09 108.7];
T = table(Area ,Centroid);
%check in all value which are 147 in column 1 and 109 in column 2
trueIndex = ((147>=T.Centroid(:,1) & T.Centroid(:,1)>=146)&(109>=T.Centroid(:,2) & T.Centroid(:,2)>=108));
%add all area which have 147 and 109
sum(Area(trueIndex))
Or in one liner if you want
sum(Area(((147>=T.Centroid(:,1) & T.Centroid(:,1)>=146)&(109>=T.Centroid(:,2) & T.Centroid(:,2)>=108))))
Please mark answer as accepted if it satisfies your requirement.
  13 comentarios
mohd akmal masud
mohd akmal masud el 13 de Oct. de 2021
yah..
T =
1593×2 table
Area Centroid
__________ __________________________
7.9862e+05 128.24 134.13 72.539
1 16 139 1
13 36.462 99.308 1.1538
75 69.987 156.37 3.2267
1 73 229 1
1 79 192 1
31 85.903 175.84 1.3226
80 95.75 128.22 1.575
21 95.333 169.38 1.1429
2095 90.026 119.06 7.0692
7 105.71 36 1
1 108 145 1
2 110.5 146 1
1 113 230 1
1 115 147 1
1 118 148 1
1979 128.44 174.24 6.4785
1 142 86 1
9 148.89 229.22 1
1275 152.11 172.63 8.7867
C B
C B el 13 de Oct. de 2021
in this case there are 2 area what do you want with them 1st one or second or sum?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical 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!

Translated by