In alten Versionen von MATLAB gab es früher einen guten Grund, die Verwendung von iund zu vermeidenj als Variablennamen Frühere Versionen von MATLAB JIT waren nicht klug genug, um festzustellen, ob Sie sie als Variablen oder als imaginäre Einheiten verwendeten, und würden dies daher tun Deaktivieren Sie viele ansonsten mögliche Optimierungen.
Ihr Code würde daher nur durch das Vorhandensein von iund jals Variablen langsamer werden und sich beschleunigen, wenn Sie sie in etwas anderes ändern. Wenn Sie viel MathWorks-Code lesen, werden Sie ihn daher ziemlich häufig als Schleifenindizes sehen iiund jjverwenden. Für eine Weile hat MathWorks den Leuten möglicherweise sogar inoffiziell geraten, dies selbst zu tun (obwohl sie den Leuten offiziell immer raten, auf Eleganz / Wartbarkeit zu programmieren, anstatt auf das, was die aktuelle JIT tut, da es sich bei jeder Version um ein bewegliches Ziel handelt).
Aber das ist schon lange her und heutzutage ist es ein bisschen ein "Zombie" -Problem, das wirklich viel weniger wichtig ist, als viele Leute immer noch denken, aber sich weigert zu sterben.
In jeder neueren Version ist es wirklich eine persönliche Präferenz, ob iund jals Variablennamen verwendet werden sollen oder nicht. Wenn Sie viel mit komplexen Zahlen arbeiten, möchten Sie möglicherweise iund jals Variablen vermeiden, um ein geringes potenzielles Verwechslungsrisiko zu vermeiden (obwohl Sie möglicherweise auch / stattdessen nur 1ioder 1jfür noch weniger Verwirrung und eine etwas bessere Leistung verwenden möchten ).
Auf der anderen Seite, in meiner typischen Arbeit mit komplexen Zahlen , die ich nie beschäftigen und ich meinen Code besser lesbar , wenn ich frei fühlen zu bedienen iund jals Loop - Indizes.
Ich sehe hier viele Antworten, die besagen, dass es nicht empfohlen wird ... ohne zu sagen, wer diese Empfehlung tut. Hier ist der Umfang der tatsächlichen Empfehlungen von MathWorks aus der aktuellen Release-Dokumentation für i:
Da i eine Funktion ist, kann sie überschrieben und als Variable verwendet werden. Es ist jedoch am besten, i und j für Variablennamen nicht zu verwenden, wenn Sie sie in komplexer Arithmetik verwenden möchten. [...] Für Geschwindigkeit und verbesserte Robustheit können Sie die Komplexe i und j durch 1i ersetzen.
i,j,kwie die generischen Schleife Variablennamen.