一个python小程序,运行后显示双标量溢出

import math
import numpy
import matplotlib.pyplot as plt
def f(x,t):
return -(1+2t)x**2
def u(t):
return 3
math.cos(t)+math.sin(3
t)
a=int(input("此处输入x(0)的初始值:"))
step=0.1
t=list(numpy.arange(0,1500,step))
x=[]
x.append(a)
for k in range(1,len(t)-1):
x.append(x[k-1]+step*(f(x[k-1],t[k-1])+u(t[k-1])))

img


运行后提示有双标量溢出的错误怎么改呢?

把你的代码运行了一下,发现x的元素越来越小,最终会溢出。

img


可以设定个终止条件,小于多少的时候就停止循环。