norm calculation using for loop

hello , can anybody tell me how to calculate l2 norm of x=[2 3 -5 3 1] using for loop and without loop, and which one is efficient and fast?

 Accepted Answer

n = norm( x );
does it without a loop. There is no reason to do it with a loop. Even if you don't use norm you would still vectorise is as:
n = sqrt( sum( x.^2 ) );
If you really want a loop the derivation is not difficult though. The vectorised version should certainly be faster, but you can test this yourself.

4 Comments

g.p
g.p on 12 Aug 2016
Edited: g.p on 12 Aug 2016
thanks adam , but i have to perform it element-wise using for loop ,and without for loop and need to justify which is fast.
If you have to perform it with a loop then I assume it is homework which you should be able to work out yourself from the 2nd version I gave above.
Converting this into a loop just uses the basics of Matlab:
n = sqrt( sum( x.^2 ) );
did u calculate it using for loops? how?
As Adam has mentioned in his answer, loop is not necessary but if it's a homework and you must use a loop, then read the documentation to know how it works and then use the for loop iterator to index through the vector.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

g.p
on 12 Aug 2016

Commented:

KL
on 16 Oct 2017

Community Treasure Hunt

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

Start Hunting!