why "while loop" is not working?

조회 수: 3 (최근 30일)
Artur Iskhakov
Artur Iskhakov 2020년 7월 3일
댓글: Artur Iskhakov 2020년 7월 3일
Hi! My task is to find all nodes that go after node "3" in directed graph "gr". In order to make it I used the "successors" function and while loop. But while loop is not working. Can anybody help me please? Here's the code:
clc;
A = [1 2 3 4 5 6 7];
B = [2 3 4 5 6 7 8];
w = [0 0 1 0 0 0 0];
gr = digraph (A,B, w);
N = successors (gr,4)
i=0;
while TF == 0
TF = isempty (N);
N = successors (gr, N);
i = i + 1;
N(i)= N;
end
  댓글 수: 2
madhan ravi
madhan ravi 2020년 7월 3일
What’s TF ?
Artur Iskhakov
Artur Iskhakov 2020년 7월 3일
It is a variable that equals to logical 1 when matrix "N" is empty and to logical 0 when matrix "N" is not empty.

댓글을 달려면 로그인하십시오.

채택된 답변

Vashist Hegde
Vashist Hegde 2020년 7월 3일
To check what was going on, I wrote a small while loop on my own -
This while loop is also not working. The similarity between this code and your code is that you have not initialized TF. so when I put break points, and ran this stepwise, I found that when a variable is not initialized and is used, it is by default set to 1.
So TF has a value of 1, and hence the loop is never entered.
I suggest you to initialize TF.
while TF==0
disp('hi');
TF=1;
var = randi(5);
if var==4
TF=3;
end
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by