繁体   English   中英

如何解决使用 Numpy 时的类型错误

[英]How can i solve Type Error in using Numpy

为什么我有错误? 你能帮忙修改我的代码吗?

-TypeError: <class 'float'> 类型的 object 不能安全地解释为 integer。

-TypeError:'float' object 不能解释为 integer

import numpy as np
import matplotlib.pyplot as plt

def f(x):
    return x**3-2*x
def inputNumber(message):
     while True:
        try:
           userInput =float(input(message))  
        except ValueError:
           print("Enter valid")
           continue
        else:
           return userInput 
           break
 

interval1=float(inputNumber("Please write lower bound: "))
interval=float(inputNumber("Please write upper bound: "))
stepsize=float(inputNumber("Enter a step size: "))

x = np.linspace(float(interval1),float(interval),float(stepsize))
y = f(x)

linspace的前三个 arguments 是开始、结束和要生成的样本数 - 而不是步长。 尝试np.arange(interval1, interval, stepsize)

或者,您可以使用以下方法计算样本数: num = round((interval-interval1) / stepsize)然后将其插入 linspace: np.linspace(interval1, interval, num) ,但我不建议使用它来代替arange

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM