我想知道什么是更好的风格/更有效率:
x = linspace(-1, 1, 100);或
x = -1:0.01:1;发布于 2011-04-25 22:37:18
As Oli already pointed out,当您知道所需的点数时,使用linspace通常是最简单的;当您知道元素之间的间距时,使用colon operator通常是最简单的。
然而,应该注意的是,这两种方法通常不会给出完全相同的结果。正如前面提到的here和here,这两种方法使用略有不同的方法来计算向量元素(这里是对how the colon operator works的归档描述)。这就是为什么这两个向量不相等的原因:
>> a = 0:0.1:1;
>> b = linspace(0,1,11);
>> a-b
ans =
1.0e-016 *
Columns 1 through 8
0 0 0 0.5551 0 0 0 0
Columns 9 through 11
0 0 0这是how floating-point numbers are represented的典型副作用。某些数字无法精确表示(如0.1),以不同的方式执行相同的计算(即更改数学运算的顺序)可能会导致结果略有不同,如上面的示例所示。这些差异通常在order of the floating-point precision上,通常可以忽略,但您应该始终意识到它们的存在。
https://stackoverflow.com/questions/5779270
复制相似问题