最近在读别人的代码时,发现i,j在使用时没有赋值,但是程序也没有报错。很奇怪,调试运行才知道i,j自动赋了值。
在Matlab中,i 和j其实是MATLAB内置函数,代表的是虚数单位。
一般情况下,我们编程喜欢用i,j作为循环变量,(这个习惯是学习C语言的时候形成的)。
clear i j
i = 1;
j = 2;
在Matlab中,我们也可以用i,j作为循环变量。Matlab运行时将i和j重载成变量,但是重载内置函数不是一个好的编程习惯,同时也会带来运行速度上的降低。而且,一旦程序中涉及输入复数,就可能会出现错误。
为了避免程序运行的不确定性,一种良好的编程习惯就是,将循环变量i,j改成ii,jj。在写虚数单位时,用1i,1j代替i,j.
for ii = 1:5
jj = ii^2;
end
完