필터 지우기
필터 지우기

Question about for construct?

조회 수: 11 (최근 30일)
Pam
Pam 2014년 12월 3일
댓글: Pam 2014년 12월 3일
I have to answer the following question: examine the following for statements and determine how many times each loop will be executed:
a) for ii=-32768:32767
b) for ii=32768:32767
c) for kk=2:4:3
d) for jj=ones(5,5)
so for a I did this:
for ii=-32768:32767
disp(ii);
end
and in the workspace I have the value of ii as 32767 so I was wondering if this is the number of times the loop is excecuted.
I also did it for he second one and got an empty array I am not sure what it means and for the third I got just 2 I also dont understand why.

채택된 답변

Roger Stafford
Roger Stafford 2014년 12월 3일
You shouldn't have to actually activate those 'for-loops' to determine how many times they will execute. You can do it in your head. The first one advances by one each step:, -32768, -32767, -32766, ..., 32767, so you just count the number of these integers, namely 32767 - (-32768) + 1 = ?. The second one is "none"; 32768 is already too far. The third one has 2 only since 2+4 would be beyond 3 and therefore it executes just once. The last one you can read about at:
http://www.mathworks.com/help/matlab/ref/for.html
"The loop executes a maximum of n times, where n is the number of columns of valArray, given by numel(valArray,1,:)."
  댓글 수: 4
Roger Stafford
Roger Stafford 2014년 12월 3일
No, it would be five! 'ones(5,5)' creates a 5-by-5 array of ones so it must have five columns. Note that in that case 'jj' would be a column vector of five ones each time. Try doing it with ones(7,4). It should execute four times and each time 'jj' would be a column vector of seven ones.
Pam
Pam 2014년 12월 3일
oh ok oops sorry I forgot it was 5 i dont know why I read 1 thank you!

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by