How can i determine the area below a plotted graph?

1 vue (au cours des 30 derniers jours)
Pietro Fiondella
Pietro Fiondella le 21 Juin 2022
Commenté : Pietro Fiondella le 22 Juin 2022
I have plot the rows of a matrix A[7x24] and a matrix B[7x24] in respect to a vector C[1x24]
I would like to find a vector D1 with the area below each graph as elements and then evaluate the sum of al the areas
I've tried with this scritp but t dosent work.
A=[ 0.6495 0.7393 0.7551 0.7947 0.7974 0.8713 1.0482 1.2621 1.6027 1.7189 1.5710 1.3070 1.4416 1.5684 1.6080 1.6053 1.6581 2.2865 2.4925 2.6087 2.3288 2.1941 1.9671 1.6265;
0.7210 0.8207 0.8383 0.8823 0.8852 0.9673 1.1636 1.4010 1.7792 1.9081 1.7440 1.4509 1.6004 1.7411 1.7850 1.7821 1.8407 2.5383 2.7669 2.8959 2.5852 2.4357 2.1836 1.8055;
0.7314 0.8324 0.8503 0.8949 0.8979 0.9811 1.1803 1.4211 1.8046 1.9354 1.7689 1.4716 1.6233 1.7660 1.8106 1.8076 1.8671 2.5746 2.8065 2.9373 2.6222 2.4706 2.2149 1.8314;
0.7351 0.8366 0.8546 0.8994 0.9024 0.9860 1.1862 1.4283 1.8137 1.9452 1.7779 1.4791 1.6315 1.7749 1.8197 1.8167 1.8765 2.5876 2.8207 2.9522 2.6354 2.4830 2.2261 1.8406;
0.7351 0.8366 0.8546 0.8994 0.9024 0.9860 1.1862 1.4283 1.8137 1.9452 1.7779 1.4791 1.6315 1.7749 1.8197 1.8167 1.8765 2.5876 2.8207 2.9522 2.6354 2.4830 2.2261 1.8406;
0.7336 0.8350 0.8529 0.8976 0.9006 0.9841 1.1839 1.4254 1.8101 1.9413 1.7743 1.4761 1.6282 1.7713 1.8160 1.8131 1.8727 2.5824 2.8150 2.9462 2.6301 2.4781 2.2216 1.8369;
0.7100 0.8081 0.8254 0.8687 0.8716 0.9524 1.1458 1.3796 1.7519 1.8789 1.7172 1.4286 1.5758 1.7143 1.7576 1.7548 1.8125 2.4994 2.7245 2.8515 2.5455 2.3984 2.1502 1.7778];
B=[ 0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0];
C=linspace(0,23,24);
plot(C,A,C,B)
for r=1:7
D1= [trapz(C,A(r,:));trapz(C,B(r,:))];
D2(r)=(sum(D1));
D3=sum(D2);
end
D1
D1 = 2×1
38.6566 30.0233
D2
D2 = 1×7
65.3881 69.2820 69.8439 70.0448 70.0448 69.9646 68.6799
D3
D3 = 483.2482
As you can see D1

Réponse acceptée

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 21 Juin 2022
If understood your question correctly, this is what you're trying to compute is the area under the big bell curve?
A=[ 0.6495 0.7393 0.7551 0.7947 0.7974 0.8713 1.0482 1.2621 1.6027 1.7189 1.5710 1.3070 1.4416 1.5684 1.6080 1.6053 1.6581 2.2865 2.4925 2.6087 2.3288 2.1941 1.9671 1.6265;
0.7210 0.8207 0.8383 0.8823 0.8852 0.9673 1.1636 1.4010 1.7792 1.9081 1.7440 1.4509 1.6004 1.7411 1.7850 1.7821 1.8407 2.5383 2.7669 2.8959 2.5852 2.4357 2.1836 1.8055;
0.7314 0.8324 0.8503 0.8949 0.8979 0.9811 1.1803 1.4211 1.8046 1.9354 1.7689 1.4716 1.6233 1.7660 1.8106 1.8076 1.8671 2.5746 2.8065 2.9373 2.6222 2.4706 2.2149 1.8314;
0.7351 0.8366 0.8546 0.8994 0.9024 0.9860 1.1862 1.4283 1.8137 1.9452 1.7779 1.4791 1.6315 1.7749 1.8197 1.8167 1.8765 2.5876 2.8207 2.9522 2.6354 2.4830 2.2261 1.8406;
0.7351 0.8366 0.8546 0.8994 0.9024 0.9860 1.1862 1.4283 1.8137 1.9452 1.7779 1.4791 1.6315 1.7749 1.8197 1.8167 1.8765 2.5876 2.8207 2.9522 2.6354 2.4830 2.2261 1.8406;
0.7336 0.8350 0.8529 0.8976 0.9006 0.9841 1.1839 1.4254 1.8101 1.9413 1.7743 1.4761 1.6282 1.7713 1.8160 1.8131 1.8727 2.5824 2.8150 2.9462 2.6301 2.4781 2.2216 1.8369;
0.7100 0.8081 0.8254 0.8687 0.8716 0.9524 1.1458 1.3796 1.7519 1.8789 1.7172 1.4286 1.5758 1.7143 1.7576 1.7548 1.8125 2.4994 2.7245 2.8515 2.5455 2.3984 2.1502 1.7778];
B=[ 0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0.6104 2.0730 3.0518 4.5145 5.4933 5.4933 4.2725 2.4414 1.4627 0.6104 0 0 0 0 0 0];
C=linspace(0,23,24);
for ii=1:7
D1 = [cumtrapz(C,A(ii,:));cumtrapz(C,B(ii,:))];
D1 = @(La,Lb) max(D1(C<=Lb)) - min(D1(C>=La));
Area = D1(6, 18);
end; sum(Area)
ans = 9.8980
  1 commentaire
Pietro Fiondella
Pietro Fiondella le 22 Juin 2022
Thanks for your feedback, it's usefoul but thats not what i'm looking for.
I would like to obtain a row vector in wich i have the areas below each graph as elements.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by