什么是复杂标量类型无效为索引值

Dan*_*iel 2 matlab matrix octave complex-numbers

我在Linux上使用Octave进行一些基本的Matlab计算,我收到了以下代码标题中提到的错误:

for a = i:n
 aux = U(j,a)/U(a,a);
 % L(a,i) = aux;
end
Run Code Online (Sandbox Code Playgroud)

我想提一下U是一个n乘n矩阵,我是来自另一个外循环的索引.

谢谢,丹尼尔.

Sha*_*hai 9

在Matlab中使用ij作为索引并不是一个好习惯,因为默认情况下它们代表sqrt(-1).它似乎在您的代码中初始化i或未j初始化,因此采用其默认复杂值.


小智 5

但是你不告诉我们什么j是...

j作为索引可能有问题吗?

请注意,默认情况下将ij都定义为sqrt(-1)。因此,如果j按原样使用而没有明确的预定义,那么您将获得一个复杂的值,该值无法用作索引。