How can I use conditional operators to only obtain values from an array which satisfies the condition?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have an array A which contains a list of numbers. I have an array m which is empty at the start.
When the for loop is executed, a random number from array A is chosen and assigned to variable B. The number associated with variable B is added to the empty array m and the process repeats 10 times.
What I want to do is have an array which only contains the values which satisfy the condition includes number that are lower than 5 and higher than 14 (non-inclusive). I tried using conditional operators but it does not seem to be working the final_result variable always ends up with an empty array, even on the occasion where there are numbers in the m array which satisy the conditions specified. Is there any other way I can do this?
A = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16];
m = [];
for i = 1:10
B = randsample(A,1);
m(end+1) = B;
end
final_result = m(m < 5 & m > 14);
1 Commento
Simon Chan
il 24 Ago 2021
I think you are looking for numbers that are lower than 5 OR higher than 14.
Risposte (1)
Srijith Kasaragod
il 30 Ago 2021
As per my understanding, final result holds values in m that are less than 5 or greater than 14. Executing '&' operation will return zero elements as no number can be both less than 5 and greater than 14. Specifying final_result as the following will give the required output:
final_result= m(m < 5 | m > 14)
0 Commenti
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!