Density measurment using cumulative plots

2 次查看(过去 30 天)
I have two plots
plot(a,b)
hold on
plot(c,d)
and now i need do:

采纳的回答

Image Analyst
Image Analyst 2022-2-27
Did you try trapz()?

更多回答(3 个)

Zuzana Pániková
a =
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
b
b =
11
6
10
11
23
53
97
138
168
166
172
166
173
184
187
197
191
166
136
97
62
43
27
21
c
c =
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
d
d =
28
28
24
25
55
167
224
272
299
311
334
348
341
368
378
398
367
357
297
236
181
131
99
49
Fackov_po
Fackov_po =
0 11
1 6
2 10
3 11
4 23
5 53
6 97
7 138
8 168
9 166
10 172
11 166
12 173
13 184
14 187
15 197
16 191
17 166
18 136
19 97
20 62
21 43
22 27
23 21
trapz(b,Fackov_po)
ans =
-2006 160
It is correct?
  1 个评论
Image Analyst
Image Analyst 2022-3-2
I don't know. What are the two mat files and the xlsx file in the zip file? Which is yRed, yBlue, and the x values?

请先登录,再进行评论。


Zuzana Pániková
mat files and xlsx file you don't have to notice, I forgot to delete it.
yRed is d
yBlue is b
x values is a and c.it's the same.
I want to calculate the area between b and d.

Image Analyst
Image Analyst 2022-3-4
One way is to simply sum the curves and subtract them.
area = abs(sum(d) - sum(b));
That assumes there are no negative values, the curves don't cross, and treats the values like a bar chart (bars with flat tops). If you want to treat them like quadilaterals (like bars but slanted tops), you can use trapz().

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by