query regarding while loop application
Afficher commentaires plus anciens
I have two vectors P and R of length 50 Vector P has values of a signal between 0 and 1 and R is a randomly generated vector with values between 0 and 1. Please help to write a code to check the following condition: if R(i)> p(kk) & R(i)<= p(kk+1) then store the value of (i) and move ahead to check the condition for next pair ; p(kk+1)and p(kk+2) else if the condition is not satisfied, then check the condition at next value of R. For e.g.
P=[0 0.0034 0.023 0.189];
R=[0.0004 0.234 0.023 0.011];
i=1, kk=1; j=1;
if R(i)> p(kk) & R(i)<= p(kk+1)
a(j)=i ; kk=kk+1;
else
i=i+1;
please please help
4 commentaires
Torsten
le 9 Mai 2018
Could you clarify the condition " P(i)<=R >= P(i+1)" ? I don't understand what you mean.
Jan
le 9 Mai 2018
@stud: Please edit the question and append a short and relevant example of an input and the wanted output.
stud
le 10 Mai 2018
Modifié(e) : per isakson
le 10 Mai 2018
stud
le 10 Mai 2018
Modifié(e) : Walter Roberson
le 10 Mai 2018
Réponses (1)
Steven Lord
le 9 Mai 2018
I think what you want is the discretize function, though the fact that both your bin edges in your problem statement use <= is a problem. If an element of R is exactly equal to one of the elements of P, do you want the element in R to be considered in the left bin or the right bin?
R = 0.25;
P = [0 0.25 0.5 0.75 1];
Should R be in the bin [0, 0.25] or the bin [0.25, 0.5]?
If you only want one of the endpoints to be included in a bin, use the 'IncludedEdge' option to specify which one.
1 commentaire
stud
le 10 Mai 2018
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!