Vector normalization giving error in second iteration

In first iteration, there was no issue, but in second iteration, the program stopped running giving error " Subscript indices must either be real positive integers or logicals" .
See line 62
Matlab command
s1=s1/norm(s1)

 Accepted Answer

Jan
Jan on 2 Jan 2019
Edited: Jan on 2 Jan 2019
You have redefined "norm" as a variable in:
norm = 1./eta;
Afterwards you cannot access the function norm() directly anymore. The solution is easy: Do not shadow built-in functiony by variables, but choose a different name for teh variable.
By the way: you can find the reason of such problems easily using the debugger. Type this in the command window:
dbstop if error
and run your code again. When Matlab stops at the problem, check the used expressions:
which norm -all % <- this will reveal the problem
size(s1) % <- might be useful in other cases
class(s1)
s1

More Answers (0)

Categories

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

Asked:

on 2 Jan 2019

Commented:

on 4 Jan 2019

Community Treasure Hunt

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

Start Hunting!