Octave/matlab 中的值 NaN4505e-001 是什么意思?

What does the value NaN4505e-001 mean in Octave/matlab?

NaN4505e-001 在 Octave/matlab 中的含义是什么?

完整的输出行是Iteration 250 | Cost: NaN9784e-001 库函数中对应语句为fprintf('%s %4i | Cost: %4.6e\r', S, i, f1);

所以,我的问题是 %4.6e return 这个值如何 NaN4505e-001?

很可能是显示一个 NaN 和两个浮点数的三个字符串的串联。例如:

fprintf(1, '%d%d%.0e\n', NaN, 450, 0.5)

稍后编辑:鉴于添加到原始问题的新信息,最可能的原因是f1变量是双精度的三元素向量,其中值 [NaN, 450, 0.5],或 2 元素向量 [NaN, 450.5].

要查看具体原因,我建议在条件 i == 250fprintf 调用上添加一个条件断点,然后检查 f1 值。

但是,ij 由 MATLAB 保留用于 -1 的复平方根,因此调试器可能永远不会采用该条件。这就是为什么将这两个标识符用作变量名是个坏主意。