- 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
434 views (last 30 days)
Show older comments
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 Comments
Answers (3)
Stephen23
on 8 Mar 2015
Edited: Stephen23
on 8 Mar 2015
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 Comments
Jos (10584)
on 8 Mar 2015
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 Comment
Guillaume
on 8 Mar 2015
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.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!