# Area under the Peak

5 visualizzazioni (ultimi 30 giorni)
iqra kiran il 5 Feb 2023
Hello,
I am using the following code to find the width, height and area of the peak,
X = data(:,1);
Y= data(:,2);
>> plot(X,Y)
findpeaks(Y,X,'MinPeakProminence',4,'Annotate','extents')
[pks,loc,w,p] =findpeaks(Y,X);
x = 1:length(data);
x_pks = x(loc);
area = trapz(x_pks, pks)
I am getting an error to find the area,as mentioned below
Array indices must be positive integers or logical values.
please suggest me the any solution.
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Sulaymon Eshkabilov il 5 Feb 2023
Here is the corrected code;
clearvars; clc
X = data(:,1);
Y = data(:,2);
plot(X,Y)
findpeaks(Y,X,'MinPeakProminence',4,'Annotate','extents')
[pks,Loc,width,psrom] =findpeaks(Y,X);
findpeaks(Y,X)
x = X;
% if there are more than 1 peak, then it is necessary to specify which one
x1=Loc(1)-width(1)/2;
x2=Loc(1)+width(1)/2;
area = trapz([x1,x2], [pks(1), pks(1)])
##### 2 CommentiMostra NessunoNascondi Nessuno
iqra kiran il 6 Feb 2023
Thank you.
Sulaymon Eshkabilov il 6 Feb 2023
Most welcome

Accedi per commentare.

### Categorie

Scopri di più su Descriptive Statistics in Help Center e File Exchange

R2022b

### Community Treasure Hunt

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

Start Hunting!

Translated by