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?

 채택된 답변

Adam
Adam 2016년 8월 12일

1 개 추천

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

g.p
g.p 2016년 8월 12일
편집: g.p 2016년 8월 12일
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 ) );
Aash
Aash 2017년 10월 16일
did u calculate it using for loops? how?
KL
KL 2017년 10월 16일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

g.p
2016년 8월 12일

댓글:

KL
2017년 10월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by