Filter löschen
Filter löschen

Execution of for loop and indexing of strucutres

1 Ansicht (letzte 30 Tage)
Waqas Syed
Waqas Syed am 9 Jul. 2015
Beantwortet: Image Analyst am 10 Jul. 2015
Hi,
I am trying to run the following command inside a for loop:
if A(p,1)== B(:,1)
My question: Is every row of B is being compared to A in one running of the loop?
Regards, Waqas
  5 Kommentare
James Tursa
James Tursa am 10 Jul. 2015
Can you describe, in words, what this test is supposed to do?
if MainWPR_mpc.branch(p:1)== Reus.bus(:,1)
The (p:1) indexing definitely does not look right. Nor does the (p:2) indexing in the following line.
Waqas Syed
Waqas Syed am 10 Jul. 2015
Sorry, it was supposed to be a comma instead of a colon. Apologies for that.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 10 Jul. 2015
MainWPR_mpc.branch(p,1) == Reus.bus(:,1)
produces a boolean vector, a list of true false values, not just a single one. So if you do that, you have to decide exactly what you're testing. What if you get 3 true and 5 false, like [1,0,0,1,1,0,0,0]? What do you want to do then? If you want ALL to be true, use all(). If you want to check if ANY of them is true, use any:
if all(MainWPR_mpc.branch(p,1)== Reus.bus(:,1))
if any(MainWPR_mpc.branch(p,1)== Reus.bus(:,1))
I don't know which way you want it.

Weitere Antworten (1)

James Tursa
James Tursa am 10 Jul. 2015
Bearbeitet: James Tursa am 10 Jul. 2015
Is p the loop index?
A(p:1) could be empty or could be a scalar depending on what p is. B(:,1) is the first column of B. In an "if" test, the == would mean that all of the elemental results would need to be non-zero for the if-test to evaluate as true. I.e., all of the elements of the first B column would have to equal A(p:1) for the if-test to evaluate as true.
That being said, A(p:1) doesn't look right for what you probably intended and I would re-examine your code.
  1 Kommentar
Waqas Syed
Waqas Syed am 10 Jul. 2015
Sorry, it was supposed to be a comma instead of a colon. Apologies for that.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by