Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
二次函数提前停止的Python-scipy曲线拟合_Python_Numpy_Matplotlib - Fatal编程技术网

二次函数提前停止的Python-scipy曲线拟合

二次函数提前停止的Python-scipy曲线拟合,python,numpy,matplotlib,Python,Numpy,Matplotlib,因此,我绘制的曲线的最佳拟合线在第二个点被截断,我一生都不知道为什么 from matplotlib import pyplot as plt import numpy as np from scipy.optimize import curve_fit accuracy = 250 def quadratic_function(E,a,b,c): B = (a*(E**2.0)) + (b*E) + c return B Implantation_E = np.ar

因此,我绘制的曲线的最佳拟合线在第二个点被截断,我一生都不知道为什么

from matplotlib import pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
accuracy = 250

def quadratic_function(E,a,b,c):    
    B = (a*(E**2.0)) + (b*E) + c
    return B

Implantation_E = np.array([5.0,10.0,15.0,20.0,25.0])

plt.figure()
plt.title("A plot showing how the Magnetic Field varies with Implantation Energy")
plt.ylabel("Magnetic Field Strength (T)")
plt.xlabel("Implantation Energy (J)")
plt.plot(Implantation_E,D_array[0],'bo')
parameters, var = curve_fit(quadratic_function,Implantation_E,D_array[0], absolute_sigma = True, p0 = (1.0,1.0,1.0))
newTime = np.linspace(0,10,accuracy)
newAsymmetry = quadratic_function(newTime, *parameters)
plt.plot(newTime, newAsymmetry) 
plt.show()
(注D_数组[0]:[0.00523265 0.00860683 0.0109838 0.01241191 0.01284149] )


您的原始数据在其参数中的范围为5到25。但你的健康指数只有10。将
newTime
定义更改为25,您就可以了

from matplotlib import pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
%matplotlib inline

accuracy = 250

def quadratic_function(E,a,b,c):    
    B = (a*(E**2.0)) + (b*E) + c
    return B

dd= np.array([ 0.00523265, 0.00860683 ,0.0109838, 0.01241191 ,0.01284149])
Implantation_E = np.array([5.0,10.0,15.0,20.0,25.0])

plt.plot(Implantation_E,dd,'b-o',lw=15,ms=10,alpha=0.3)

parameters, var = curve_fit(quadratic_function,Implantation_E,dd,absolute_sigma = True, p0 = (1.0,1.0,1.0))
newTime = np.linspace(0,10,accuracy)
newAsymmetry = quadratic_function(newTime, *parameters)

plt.plot(newTime, newAsymmetry,'r.',ms=1) 
plt.show()


您的原始数据在其参数中的范围为5到25。但你的健康指数只有10。将
newTime
定义更改为25,您就可以了

from matplotlib import pyplot as plt
import numpy as np
from scipy.optimize import curve_fit
%matplotlib inline

accuracy = 250

def quadratic_function(E,a,b,c):    
    B = (a*(E**2.0)) + (b*E) + c
    return B

dd= np.array([ 0.00523265, 0.00860683 ,0.0109838, 0.01241191 ,0.01284149])
Implantation_E = np.array([5.0,10.0,15.0,20.0,25.0])

plt.plot(Implantation_E,dd,'b-o',lw=15,ms=10,alpha=0.3)

parameters, var = curve_fit(quadratic_function,Implantation_E,dd,absolute_sigma = True, p0 = (1.0,1.0,1.0))
newTime = np.linspace(0,10,accuracy)
newAsymmetry = quadratic_function(newTime, *parameters)

plt.plot(newTime, newAsymmetry,'r.',ms=1) 
plt.show()


非常感谢,你不会碰巧知道为什么我也添加了这个,当我添加错误时,它只会导致它连接点?plt.errorbar(植入E,D_数组[0],xerr=0.0,yerr=D_数组[1])D_数组[1]=1.66096809e-05 1.53262814e-05 1.62771310e-05 1.88651405e-05 1.56005258e-05非常感谢,你不会碰巧知道为什么我也加了这个,当我加错误的时候,它只会使它连接点?plt.errorbar(植入E,D_数组[0],xerr=0.0,yerr=D_数组[1])D_数组[1]=1.66096809e-05 1.53262814e-05 1.62771310e-05 1.88651405e-05 1.56005258e-05