i and j are very popular variable names (see e.g., this question and this one).
For example, in loops:
for i=1:10,
% Do something...
end
As indices into a matrix:
mat(i, j) = 4;
Why shouldn’t they be used as variable names in MATLAB?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Because
iandjare both functions denoting the imaginary unit:So a variable called
iorjwill override them, potentially silently breaking code that does complex maths.Possible solutions include using
iiandjjas loop variables instead, or using1iwheneveriis required to represent the imaginary unit.