Creating a loop with an empty Matrix

조회 수: 7 (최근 30일)
William Diaz
William Diaz 2019년 1월 10일
댓글: William Diaz 2019년 1월 10일
I'm working on a code that requires me to replace the values in an empty matrix with new ones. I'm trying to do this using a while loop but can't seem to get it right can anyone provide some insight as to how I should continue? I was thinking something along the lines of this:
M=zeroes(5)
while M 'contains a zero'
x=randi(5)
Y=randi(5)
M(x,y)='Replavement Value Function'
end
This issue I'm having is I don't understand how to write the while loop such that it will continuously perform this operation until M no longer contains a zero.

채택된 답변

Guillaume
Guillaume 2019년 1월 10일
Note: an empty matrix (a matrix whose any dimension is of size 0) and a matrix filled with 0s are two completely different things.
Prior to R2018b, use
while any(M(:) == 0)
to check if any element of M is equal to 0. In R2018b, you can use
while any(M == 0, 'all')
to do the same
  댓글 수: 3
Guillaume
Guillaume 2019년 1월 10일
Use a counter incremented inside the loop:
counter = 0;
while any(M == 0, 'all')
counter = counter+1;
%...
end
William Diaz
William Diaz 2019년 1월 10일
Perfect thank you

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by