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!