Borrar filtros
Borrar filtros

Area under the Peak

4 visualizaciones (últimos 30 días)
iqra kiran
iqra kiran el 5 de Feb. de 2023
Comentada: Sulaymon Eshkabilov el 6 de Feb. de 2023
Hello,
I am using the following code to find the width, height and area of the peak,
load('data.csv')
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.

Respuesta aceptada

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 5 de Feb. de 2023
Here is the corrected code;
clearvars; clc
load('data.csv')
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 comentarios
iqra kiran
iqra kiran el 6 de Feb. de 2023
Thank you.
Sulaymon Eshkabilov
Sulaymon Eshkabilov el 6 de Feb. de 2023
Most welcome

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by