필터 지우기
필터 지우기

Area under the Peak

조회 수: 4 (최근 30일)
iqra kiran
iqra kiran 2023년 2월 5일
댓글: Sulaymon Eshkabilov 2023년 2월 6일
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.

채택된 답변

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023년 2월 5일
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
iqra kiran
iqra kiran 2023년 2월 6일
Thank you.
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023년 2월 6일
Most welcome

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by