How can it be that a value shown in a plot cannot be found in the matrix whose values are used to generate the plot?
조회 수: 1 (최근 30일)
이전 댓글 표시
Consider a plot of a frequency spectrum:
plot(f, X_dBm);
This plot has a peak at a frequency f_peak = 11 GHz. The amplitude in dBm = -6 dBm. You can click on the peak of the plot and it shows exactly these values for x and y. X_dBm is a matrix of t rows and n columns. I plot column n=30. When I search for the entry -6 the result is 0. How can that be? I am using:
find(X_dBm(:,30) = -6)
댓글 수: 0
채택된 답변
Image Analyst
2016년 12월 26일
편집: Image Analyst
2016년 12월 26일
Because it's not exactly -6. See the FAQ: http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F
To fix:
oneColumn = X_dBm(:,30);
targetValue = -6;
tolerance = .01; % or whatever closeness you want.
rows = find(abs(oneColumn - targetValue) <= tolerance);
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!