Question about for construct?
11 ビュー (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
採用された回答
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
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!