- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 numpy.polyfit
函数进行一些预测。如果我输入 1 的次数,它会起作用,但我需要进行二次多项式拟合。在某些情况下它有效,在其他情况下,预测的情节下降然后永远上升。例如:
import matplotlib.pyplot as plt
from numpy import *
x=[1,2,3,4,5,6,7,8,9,10]
y=[100,85,72,66,52,48,39,33,29,32]
fit = polyfit(x, y, degree)
fitfunction = poly1d(z4)
to_predict=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
plt.plot(to_predict,fitfunction(to_predict))
plt.show()
在我运行之后,它出现了(我试着放一张图片,但 stackoverflow 不允许我)。
我想强制它通过零。
我该怎么做?
最佳答案
如果您不需要使用原始最小二乘公式计算拟合误差(即最小化 ∑ |yi - (axi2 + bxi)|2), 你可以尝试执行 y/x
的线性拟合> 相反,因为 (ax2 + bx)/x = ax + b。
如果必须使用相同的误差度量,直接构造系数矩阵并使用 numpy.linalg.lstsq
:
coeff = numpy.transpose([x*x, x])
((a, b), _, _, _) = numpy.linalg.lstsq(coeff, y)
polynomial = numpy.poly1d([a, b, 0])
(请注意,您提供的数据序列看起来不像是 y 截距为 0 的抛物线。)
关于python - 如何强制二阶 polyfit 的 y 截距为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595740/
在做 Ch06 的练习 6.5 时 |在 Middlebrook 博士的 D-OA 方法中,我尝试制作传递函数的波德图: bodeplot[s/100+100/s*(1+10/s)](wolframa
我正在尝试做这样的事情 编辑 - 整个查询。 SELECT * FROM ride WHERE ( SELECT COUNT(*) FROM ( SELECT DISTINCT
我尝试求解简单的数值方程 - 没有源的线性波动方程:utt = v2 uxx 其中 v - 波速。 我使用初始条件: u(x, 0) = sin(x) ux(x, 0) = -v * sin(x) 对
我正在尝试使用 C++ 求解 4 个二阶多项式方程组。解决该系统的最快方法是什么?如果可能,您能否链接或编写一些伪代码来解释它?我知道涉及 Groebners 基础或 QR 分解的解决方案,但我找不到
我在 Checkmarx 中遇到错误。 Method abortJob at line 209 of XXX/classes/Monitoring.cls gets user inputfrom th
对于二阶 ODE(python 中的 dopri5 方法),下面的代码总是会导致错误:C:\Users\MY\Anaconda3\lib\site-packages\scipy\integrate\_
重要更新:我已经找到答案并将它们放在这个简单的开源库中:http://bartolsthoorn.github.com/NVDSP/检查一下,如果您在 IOS 中遇到音频过滤器问题,它可能会为您节省不
我是一名优秀的程序员,十分优秀!