Empty matrix: 0-by-1
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (2)
Azzi Abdelmalek
le 13 Juil 2015
A=[1 2 3]
find(A==5)
The result is
ans =
Empty matrix: 1-by-0
Because 5 is not found in A
0 commentaires
Star Strider
le 13 Juil 2015
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 commentaires
Image Analyst
le 13 Juil 2015
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
le 25 Mai 2019
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.
Voir également
Catégories
En savoir plus sur Data Distribution Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!