小编Utt*_*wut的帖子

在python中找到四次多项式4度的最小正实根的最快方法

[我想要的]是找到四次函数的唯一一个最小的正实根a x ^ 4 + b x ^ 3 + c x ^ 2 + d x + e

[现有方法] 我的方程是用于碰撞预测中,最大程度是四次函数为F(X) = 一个的x ^ 4 + b的x ^ 3 + c ^ X ^ 2 + d X + ëA,B,C,d ,e coef可以是正/负/零(实浮点值).所以我的函数f(x)可以是四次,三次或二次,取决于a,b,c,d,e输入系数.

目前我使用numpy来查找root,如下所示.

导入numpy

root_output = numpy.roots([a,b,c,d,e])

来自numpy模块的" root_output "可以是所有可能的实/复根,具体取决于输入系数.所以我必须逐个查看" root_output ",并检查哪个根是最小的实数正值(root> 0?)

[问题] 我的程序需要多次执行numpy.roots([a,b,c,d,e]),因此执行numpy.roots很多次对我的项目来说太慢了.每次执行numpy.roots时,(a,b,c,d,e)值总是会改变

我的尝试是在Raspberry Pi2上运行代码.以下是处理时间的示例.

  • 在PC上运行numpy.roots很多次:1.2秒
  • 在Raspberry Pi2上运行numpy.roots很多次:17秒

您能否指导我如何在 …

python algorithm math numpy scipy

5
推荐指数
1
解决办法
2377
查看次数

标签 统计

algorithm ×1

math ×1

numpy ×1

python ×1

scipy ×1