- Appearance: Vectorized mathematical code appears more like the mathematical expressions found in textbooks, making the code easier to understand.
- Less Error Prone: Without loops, vectorized code is often shorter. Fewer lines of code mean fewer opportunities to introduce programming errors.
- Performance: Vectorized code often runs much faster than the corresponding code containing loops.
Changing the step in a for loop
조회 수: 255 (최근 30일)
이전 댓글 표시
Hi! Easy question for you guys! How can i get the same output in matlab? Here's the code in c++ where the output is 0, 2, 4, 6, 8, whereas in matlab is 1 to 10. Thanks!
if true
for (int i = 0; i < 10; i++)
{
cout << i << " ";
i = i + 1;
}
for i=0:9
i = i+1
end
}
댓글 수: 0
답변 (3개)
Stephen23
2015년 3월 8일
편집: Stephen23
2015년 3월 8일
for k = 0:2:8
... some code here
end
Or even better would be to forget about those low-level loops like you need in C, and learn to vectorize your code. The documentation states:
Vectorizing your code is worthwhile for several reasons:
Forget about low-level languages, and learn to utilize MATLAB's programming concepts.
댓글 수: 0
Jos (10584)
2015년 3월 8일
For-loops in matlab behave a little different than for loops in C. You might be in need of a While-loop.
for k=1:5
disp(k)
k = 100 ;
end
for k = [10 3 5 6]
disp(k) ;
end
k = 1 ;
while k < 5
k = k + 2 ;
disp(k)
end
댓글 수: 1
Guillaume
2015년 3월 8일
To follow up on Jos' answer, you need to understand that for just iterates over the columns of the vector/matrix that you give it. In C++ terms, it behaves like std::for_each on a const sequence.
참고 항목
카테고리
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!