Empty matrix: 0-by-1
4 ビュー (過去 30 日間)
古いコメントを表示
Dears, I have a problem. I try to find a cretin value (Eexc) obtained from equation in an input array(E).
[ro,co]=find(E==Eexc)
i have got this error message. Empty matrix: 0-by-1
Regards,
0 件のコメント
回答 (2 件)
Azzi Abdelmalek
2015 年 7 月 13 日
A=[1 2 3]
find(A==5)
The result is
ans =
Empty matrix: 1-by-0
Because 5 is not found in A
0 件のコメント
Star Strider
2015 年 7 月 13 日
Could be a problem in floating-point approximation inaccuracies, the result of expressing decimal numbers in binary format.
See if:
[ro,co]=find(abs(E-Eexc) <= 1E-8)
works. This introduces a tolerance to the comparison. You may need to experiment with it to get the result you want.
4 件のコメント
Image Analyst
2015 年 7 月 13 日
Most of us know about that min() trick. It would have been good to share the larger context of what you wanted (finding the closest index) in the first place rather than having us try to fix some approach that you thought of that turned out to be not very good. However, it still needs fixing. It's not good to have ro in both outputs of min. You should do it like this:
[minValue, indexOfClosestValue] = min(abs(E-Eexc)); %index of closest value
closestEValue = E(indexOfClosestValue);
Bachtiar Muhammad Lubis
2019 年 5 月 25 日
I face the same issue like him. I have codes that look like:
load template;
comp=[];
for n=1:num_char
sem = corr2(template{1,n},img);
comp = [comp sem];
end
vd = find(comp==max(comp));
vd return Empty matrix: 1-by-0. In my case i only need a value. If i use abs() function the velue would be integer while i need rill number (i.e. either 1 or 0,5 etc.) And. Also if i use 1E-8 it would be return more than one value while i only need a value. Can you guys help me to solve my problem please.
参考
カテゴリ
Help Center および File Exchange で Data Distribution Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!