problem using the find function
Mostra commenti meno recenti
hi, i'm trying to use the find function to locate specific values form matrix array and to remove them (as you can see in the attached m-file) https://www.dropbox.com/s/bcynkiblh7n8tr5/check_values_s_ds_script.m
i use the function like this:
[row,col] = find(resault>0.899 & resault < 1);
but still i find values that are greater then 1 (some are even 50) what am i doing wrong?

4 Commenti
Azzi Abdelmalek
il 3 Feb 2014
Kobi commented
ok but the find function dosn't seem to find only the values between 0.889 to 1, you can see in the plot (colorbar) that i recive the location of a variable that is way greater then 1.
Azzi Abdelmalek
il 3 Feb 2014
This is not true. How can we see it in a figure?
Kobi
il 3 Feb 2014
Azzi Abdelmalek
il 3 Feb 2014
I don't know how you got those figures, but I can assure you that
row,col] = find(resault>0.899 & resault < 1)
will find only location of numbers that are between 0.899 and 1
Risposta accettata
Più risposte (2)
Amit
il 3 Feb 2014
0 voti
row and col are the indices in the matrix which have the value you need. Find function just finds the indices which satisfy the condition, however find function does not replaces those values.
Azzi Abdelmalek
il 3 Feb 2014
Modificato: Azzi Abdelmalek
il 3 Feb 2014
What you want is
resault(resault>0.899 & resault < 1)
Maybe what you mean by remove them
resault(resault>0.899 & resault < 1)=0
Removing an element doesn't mean set it to zero. Also you can't remove a element from a nxm matrix, you can remove an entire column or row.
1 Commento
per isakson
il 4 Feb 2014
or
resault(resault>0.899 & resault < 1) = nan;
Categorie
Scopri di più su Mathematics and Optimization in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
