I think I need to create a new for loop for checking that from outputs and recalculating but I truly have no ideas! :D
how to pick the closest value to a point using ismember or anything else?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Wolfgang McCormack
il 13 Mar 2021
Commentato: Wolfgang McCormack
il 13 Mar 2021
Hi all,
I have the following code, my problem is that multiple values that result in the output (CurRatio) fall within my specific range but I want to pick/save only one value for each range (RatioEins,zwei,...). Preferably, that pick would be the closest to the middle of the range (I want something instead of ismember that can pick the best values that its output is closest to the middle of the ranges). For instance, for RatioEins, my pick of data would be best to be the one that its output is closes to 0.25. If not possible, then the first value within the range will work too. Could you please teach me to get that?
'(Parts are removed due to the data sensivity)'
RatioEins = 0.24:0.0001:0.26
RatioZwei = 0.49:0.0001:0.51
RatioDrei = 0.74:0.0001:0.76
AllRatios = ([RatioEins,RatioZwei,RatioDrei])
for i = 1:100
'bunch of codes here output is CurRatio'
CurRatio = round(WinShapeArea./MainShapeArea,2)
if ismember(CurtRatio,AllRatios)
MalEin(1,i)= ([NewX])
MalZwei(2,i) = ([NewY])
else
MalFragen(1,i)= [NewX]
MalFragen(2,i) =[NewY]
end
end
2 Commenti
Risposta accettata
Walter Roberson
il 13 Mar 2021
The general strategy is often to take a coordinate and subtract off the ideal value, take the absolute value, and min(), taking the second (index) element. Use the index on the original values to retrieve the one that was closest.
3 Commenti
Walter Roberson
il 13 Mar 2021
[~, IA] = unique(headingvalues, 'table'); %find first occurance of each unique value
headingvalues = headingvalues(IA);
data = data(:,IA); %filter down
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!