W starszych wersjach MATLAB-a istniał dobry powód, aby unikać używania i
i j
jako nazw zmiennych - wczesne wersje MATLAB JIT nie były wystarczająco sprytne, aby stwierdzić, czy używasz ich jako zmiennych, czy jako jednostek urojonych, a zatem wyłącz wiele możliwych optymalizacji.
Twój kod stałby się zatem wolniejszy tylko przez samą obecność zmiennych i
i j
jako zmienne i przyspieszyłby, gdybyś zmienił je na coś innego. Dlatego, jeśli przeczytasz dużo kodu MathWorks, zobaczysz ii
i będziesz jj
używany dość powszechnie jako indeksy pętli. Przez pewien czas MathWorks mógł nawet nieoficjalnie doradzać ludziom, aby robili to sami (chociaż zawsze oficjalnie radzą ludziom, aby programowali pod kątem elegancji / łatwości konserwacji, a nie tego, co robi obecny JIT, ponieważ jest to ruchomy cel każdej wersji).
Ale to raczej dawno temu, a obecnie jest to trochę problem z zombie, który jest naprawdę o wiele mniej ważny, niż wielu ludzi wciąż myśli, ale nie chce umrzeć.
W każdej najnowszej wersji to naprawdę osobiste preferencje, czy używać i
i j
jako nazw zmiennych, czy nie. Jeśli wykonujesz dużo pracy z liczbami zespolonymi, możesz chcieć uniknąć i
i j
jako zmiennych, aby uniknąć małego potencjalnego ryzyka pomyłki (chociaż możesz również / zamiast tego używać tylko 1i
lub 1j
dla jeszcze mniejszego zamieszania i trochę lepszej wydajności ).
Z drugiej strony, w mojej typowej pracy nigdy nie zajmuję się liczbami zespolonymi, a mój kod wydaje mi się bardziej czytelny, jeśli mogę swobodnie używać i
i j
jako indeksów pętli.
Widzę tutaj wiele odpowiedzi, które mówią, że to nie jest zalecane ... bez mówienia, kto robi to polecanie. Oto zakres rzeczywistych zaleceń MathWorks z aktualnej dokumentacji wydania dla i
:
Ponieważ i jest funkcją, można ją przesłonić i użyć jako zmiennej. Jednak najlepiej jest unikać używania i i j dla nazw zmiennych, jeśli zamierzasz używać ich w złożonej arytmetyce. [...] Aby uzyskać szybkość i lepszą odporność, można zastąpić złożone i i j przez 1i.
i
,j
,k
jako ogólnych nazw zmiennych pętli.