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

时间:2015-05-27 12:51:28

标签: matlab octave

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

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

所以,我的问题是%4.6e如何返回此值NaN4505e-001

1 个答案:

答案 0 :(得分:4)

最有可能的是由于显示NaN和两个浮点数而产生的三个字符串的串联。例如:

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

稍后修改:鉴于新信息已添加到原始问题中,最可能的原因是f1变量是双元素的3元素向量,其值为{{1} },或2元素向量[NaN, 450, 0.5]

要了解究竟是什么原因,我建议在条件[NaN, 450.5]的{​​{1}}调用中添加条件断点,然后检查fprintf值。

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