i have a for loop which generates the BERR, and Received power, i want to find the number of times the if else statement is true,so to draw a bar graph, could anyone help me out?

2 vues (au cours des 30 derniers jours)
if BERR<10^-5
display ('pass stage 1')
if PRx>-78
display ('pass stage 2')
else
display ('fail')
end
else
display ('fail')
end

Réponse acceptée

Walter Roberson
Walter Roberson le 3 Juil 2012
passed1 = 0;
passed2 = 0;
fail1 = 0;
fail2 = 0;
if BERR<10^-5
display ('pass stage 1')
if PRx>-78
display ('pass stage 2')
passed2 = passed2 + 1;
else
display ('fail')
fail2 = fail2 + 1;
end
else
display ('fail')
fail1 = fail1 + 1;
end
Myself, I'd probably be thinking in terms of
passed = sum( (BERR<10^(-5)) & (PRx > -78) );
  2 commentaires
Schamun
Schamun le 9 Juil 2012
Modifié(e) : Walter Roberson le 9 Juil 2012
thnk you Mr.Walter Roberson for the reply, it has been most helpful. ive got another question, say i have 3 different received powers,PRx1,PRx2,PRx3 generated,and for each PRX value i have a BERR generated in the loop,my question is, how do i compare each of these BERR values to their respective PRx value to do the same task as above
this is the code that i have
edtberr=reshape(berra.',3,[]); %so that each row will be BERR values for one of the PRX value
if edtberr(1,:)<10^-5
display ('pass stage 1')
if PRx(!)>-78
display ('pass stage 2')
success= success+1;
else
display ('fail')
fail=fail+1;
end
else
display ('fail')
end
Walter Roberson
Walter Roberson le 9 Juil 2012
An evaluated expression is true when the result is nonempty and contains all nonzero elements (logical or real numeric). Otherwise, the expression is false.
With that emphasized, please reconsider "if edtberr(1,:)<10^-5"

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by