<< Chapter < Page | Chapter >> Page > |
In MATLAB one should try to avoid loops. This can be done by vectorizing your code. The idea is that MATLAB is very fast on vector and matrix operations and correspondingly slow with loops. We illustrate this by an example.
Given
,
and
for
.
Calculate
,
and store in the variable
ssum
.
Solution:
It might be tempting to implement the above calculation as
a = 1:1000;
b = 1000 - a;ssum=0;
for n=1:1000 %poor style...ssum = ssum +a(n)*b(n);
end
Recognizing that the sum is the inner product of the vectors
and
,
, we can do better:
ssum = a*b' %Vectorized, better!
For more detailed information on vectorization, please take a look at MathWorks' Code Vectorization Guide .
Notification Switch
Would you like to follow the 'An introduction to matlab' conversation and receive update notifications?