"Subscript indices must either be real positive integers or logicals" error while using trapz function
2 ビュー (過去 30 日間)
古いコメントを表示
Hello, I am using following code to calculate area under the peak.
D = amplitude(:);
l = 59;
chg(1) = 1;
chg(2) = l;
for k1 = 1:numel(chg)-1
segment_area_1k1(a,j) = trapz(chg(k1:k1+1), D(chg(k1:k1+1)));
end
end
The code upon run shows error "subscript indices must either be real positive integers or logicals". I have attached amplitude data for reference. Can anyone solve this problem?
0 件のコメント
回答 (2 件)
Ameer Hamza
2018 年 5 月 19 日
編集済み: Ameer Hamza
2018 年 5 月 19 日
What are the values of a and j? They must be a positive integer. Also if you just want to calculate the area under the curve, then pass an entire vector to trapz()
area = trapz(D);
If you want to get segmented area, you can avoid for loop altogether. A better approach is to do it like this
segmentedArea = diff(cumtrapz(D))
4 件のコメント
Image Analyst
2018 年 5 月 19 日
Give your complete code, including the code where you read in the data file, and your complete error message, including line numbers and ALL the red text.
Image Analyst
2018 年 5 月 19 日
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!