Dans les anciennes versions de MATLAB, il y avait une bonne raison d'éviter l'utilisation de i
et j
comme noms de variables - les premières versions de MATLAB JIT n'étaient pas assez intelligentes pour dire si vous les utilisiez comme variables ou comme unités imaginaires, et désactiver de nombreuses optimisations autrement possibles.
Votre code deviendrait donc plus lent simplement par la présence même de i
et en j
tant que variables, et accélérerait si vous les changiez en autre chose. C'est pourquoi, si vous lisez beaucoup de code MathWorks, vous verrez ii
et vous l' jj
utiliserez assez largement comme indices de boucle. Pendant un certain temps, MathWorks pourrait même avoir officieusement conseillé aux gens de le faire eux-mêmes (bien qu'ils conseillent toujours officiellement aux gens de programmer pour l'élégance / la maintenabilité plutôt que pour tout ce que fait le JIT actuel, car c'est une cible mobile à chaque version).
Mais c'était il y a assez longtemps, et de nos jours c'est un peu un problème de «zombie» qui est vraiment beaucoup moins important que beaucoup de gens ne le pensent encore, mais qui refuse de mourir.
Dans n'importe quelle version récente, c'est vraiment une préférence personnelle d'utiliser i
et j
comme noms de variables ou non. Si vous travaillez beaucoup avec des nombres complexes, vous voudrez peut-être éviter i
et en j
tant que variables, pour éviter tout petit risque potentiel de confusion (bien que vous puissiez également / plutôt vouloir utiliser uniquement 1i
ou 1j
pour encore moins de confusion, et un peu mieux les performances ).
D'un autre côté, dans mon travail typique, je ne m'occupe jamais de nombres complexes, et je trouve mon code plus lisible si je me sens libre d'utiliser i
et j
comme index de boucle.
Je vois beaucoup de réponses ici qui disent que ce n'est pas recommandé ... sans dire qui fait cela en recommandant. Voici l'étendue des recommandations réelles de MathWorks, tirées de la documentation de la version actuelle pour i
:
Puisque i est une fonction, elle peut être remplacée et utilisée comme variable. Cependant, il est préférable d'éviter d'utiliser i et j pour les noms de variables si vous avez l'intention de les utiliser en arithmétique complexe. [...] Pour plus de rapidité et une meilleure robustesse, vous pouvez remplacer les complexes i et j par 1i.
i
,j
,k
comme les noms de variables génériques en boucle.