我有一个多项式方程,表示为poly1d对象,想要把它用来标记我正在制作的散点图。有没有这样做? %d不起作用,除非您只指定多项式的一个元素,例如下面的
这有效:
polynomial = 1.211e-16 x^2 + 3.619e-16 x + 22.53 (as poly1d object)
s = polynomial(0)
print 'the polynomial is %d'%(s)
但是尝试
s = polynomial
print 'the polynomial is %d'%(s)
运行错误:%d format:需要一个数字,而不是poly1d
有什么想法吗?
答案 0 :(得分:1)
使用%d
作为格式键意味着该值必须是数字。当您评估输入上的多项式时,返回的是多项式。但是,对象本身不是数字,因此无法以这种方式打印。解决方案是使用%s
格式化键,它将通过在对象上调用str()
来插入返回的内容:
polynomial = np.poly1d([1.211e-16, 3.619e-16, 22.53])
print "The polynomial is: \n\n %s" % polynomial
打印
The polynomial is:
2
1.211e-16 x + 3.619e-16 x + 22.53