x
在以下具有值:
[mpf('0.0') mpf('0.10000000000000001') mpf('0.20000000000000001')
mpf('0.30000000000000004') mpf('0.40000000000000002') mpf('0.5')
mpf('0.60000000000000009') mpf('0.70000000000000007')
mpf('0.80000000000000004') mpf('0.90000000000000002')]
代码 1
import numpy as np
import mpmath as mp
import matplotlib.pyplot as plt
x = mp.arange(0,1,0.1)
y=x
plt.plot(x,y)
plt.show()
一切都很好
代码 2
import numpy as np
import mpmath as mp
import matplotlib.pyplot as plt
x = mp.arange(0,1,0.1)
y = 2.*x
plt.plot(x,y)
plt.show()
发生错误,说:不能将序列乘以“浮点”类型的非整数。所以在代码 3 中,我将 2. 更改为 2
代码 3
import numpy as np
import mpmath as mp
import matplotlib.pyplot as plt
x = mp.arange(0,1,0.1)
y = 2*x
plt.plot(x,y)
plt.show()
这次它说:x 和 y 必须具有相同的第一维。
最后,我发现我可以使用np.array
将 x 变成一个数组,所有的麻烦都没有了。
代码 4
import numpy as np
import mpmath as mp
import matplotlib.pyplot as plt
x = mp.arange(0,1,0.1)
y = 2.*np.array(x)
plt.plot(x,y)
plt.show()
谁能给我解释一下,x
代表什么,什么是mpf。为什么上面的代码会这样?如果 x 不是数值数组,为什么可以用它来绘图?如果是数组,为什么不能乘以一个数字?我感到很困惑!