當前位置: 首頁>>代碼示例>>Python>>正文


Python numpy.poly1d方法代碼示例

本文整理匯總了Python中numpy.poly1d方法的典型用法代碼示例。如果您正苦於以下問題:Python numpy.poly1d方法的具體用法?Python numpy.poly1d怎麽用?Python numpy.poly1d使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在numpy的用法示例。


在下文中一共展示了numpy.poly1d方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: remove_linear_BG_XAS_preedge

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def remove_linear_BG_XAS_preedge(
    xmcd_data, scanparams, process_parameters=None, process_number=-1
):
    """Should remove a linear bg based on the preedge average"""
    preedge_spectrum = get_preedge_spectrum(process_parameters, xmcd_data)

    preedge_poly = np.poly1d(
        np.polyfit(preedge_spectrum["Energy"], preedge_spectrum["XAS"], 1)
    )

    xas_bg = preedge_poly(xmcd_data["Energy"])

    for xas in ["XAS+", "XAS-", "XAS"]:
        xmcd_data[xas] -= xas_bg

    return (xmcd_data, {"xas_bg_poly_coeffs": " ".join(map(str, preedge_poly.coeffs))}) 
開發者ID:materialsproject,項目名稱:MPContribs,代碼行數:18,代碼來源:xas_process.py

示例2: _break_points

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def _break_points(num, den):
    """Extract break points over real axis and gains given these locations"""
    # type: (np.poly1d, np.poly1d) -> (np.array, np.array)
    dnum = num.deriv(m=1)
    dden = den.deriv(m=1)
    polynom = den * dnum - num * dden
    real_break_pts = polynom.r
    # don't care about infinite break points
    real_break_pts = real_break_pts[num(real_break_pts) != 0]
    k_break = -den(real_break_pts) / num(real_break_pts)
    idx = k_break >= 0   # only positives gains
    k_break = k_break[idx]
    real_break_pts = real_break_pts[idx]
    if len(k_break) == 0:
        k_break = [0]
        real_break_pts = den.roots
    return k_break, real_break_pts 
開發者ID:python-control,項目名稱:python-control,代碼行數:19,代碼來源:rlocus.py

示例3: test_poly1d_str_and_repr

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def test_poly1d_str_and_repr(self):
        p = np.poly1d([1., 2, 3])
        assert_equal(repr(p), 'poly1d([1., 2., 3.])')
        assert_equal(str(p),
                     '   2\n'
                     '1 x + 2 x + 3')

        q = np.poly1d([3., 2, 1])
        assert_equal(repr(q), 'poly1d([3., 2., 1.])')
        assert_equal(str(q),
                     '   2\n'
                     '3 x + 2 x + 1')

        r = np.poly1d([1.89999 + 2j, -3j, -5.12345678, 2 + 1j])
        assert_equal(str(r),
                     '            3      2\n'
                     '(1.9 + 2j) x - 3j x - 5.123 x + (2 + 1j)')

        assert_equal(str(np.poly1d([-3, -2, -1])),
                     '    2\n'
                     '-3 x - 2 x - 1') 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:23,代碼來源:test_polynomial.py

示例4: test_poly1d_math

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def test_poly1d_math(self):
        # here we use some simple coeffs to make calculations easier
        p = np.poly1d([1., 2, 4])
        q = np.poly1d([4., 2, 1])
        assert_equal(p/q, (np.poly1d([0.25]), np.poly1d([1.5, 3.75])))
        assert_equal(p.integ(), np.poly1d([1/3, 1., 4., 0.]))
        assert_equal(p.integ(1), np.poly1d([1/3, 1., 4., 0.]))

        p = np.poly1d([1., 2, 3])
        q = np.poly1d([3., 2, 1])
        assert_equal(p * q, np.poly1d([3., 8., 14., 8., 3.]))
        assert_equal(p + q, np.poly1d([4., 4., 4.]))
        assert_equal(p - q, np.poly1d([-2., 0., 2.]))
        assert_equal(p ** 4, np.poly1d([1., 8., 36., 104., 214., 312., 324., 216., 81.]))
        assert_equal(p(q), np.poly1d([9., 12., 16., 8., 6.]))
        assert_equal(q(p), np.poly1d([3., 12., 32., 40., 34.]))
        assert_equal(p.deriv(), np.poly1d([2., 2.]))
        assert_equal(p.deriv(2), np.poly1d([2.]))
        assert_equal(np.polydiv(np.poly1d([1, 0, -1]), np.poly1d([1, 1])),
                     (np.poly1d([1., -1.]), np.poly1d([0.]))) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:22,代碼來源:test_polynomial.py

示例5: data_analysis

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def data_analysis(e_ph, flux, method="least"):

    if method == "least":
        coeffs = np.polyfit(x=e_ph, y=flux, deg=11)
        polynom = np.poly1d(coeffs)


        x = np.linspace(e_ph[0], e_ph[-1], num=100)
        pd = np.polyder(polynom, m=1)
        indx = np.argmax(np.abs(pd(x)))
        eph_c = x[indx]

        pd2 = np.polyder(polynom, m=2)
        p2_roots = np.roots(pd2)
        p2_roots = p2_roots[p2_roots[:].imag == 0]
        p2_roots = np.real(p2_roots)
        Eph_fin = find_nearest(p2_roots,eph_c)
        return Eph_fin, polynom

    elif method == "new method":
        pass

        #plt.plot(Etotal, total, "ro")
        #plt.plot(x, polynom(x)) 
開發者ID:ocelot-collab,項目名稱:ocelot,代碼行數:26,代碼來源:k_analysis.py

示例6: __init__

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def __init__(self, roots, weights=None, hn=1.0, kn=1.0, wfunc=None, limits=None, monic=0,eval_func=None):
        np.poly1d.__init__(self, roots, r=1)
        equiv_weights = [weights[k] / wfunc(roots[k]) for k in range(len(roots))]
        self.__dict__['weights'] = np.array(list(zip(roots,weights,equiv_weights)))
        self.__dict__['weight_func'] = wfunc
        self.__dict__['limits'] = limits
        mu = sqrt(hn)
        if monic:
            evf = eval_func
            if evf:
                eval_func = lambda x: evf(x)/kn
            mu = mu / abs(kn)
            kn = 1.0
        self.__dict__['normcoef'] = mu
        self.__dict__['coeffs'] *= kn

        # Note: eval_func will be discarded on arithmetic
        self.__dict__['_eval_func'] = eval_func 
開發者ID:ktraunmueller,項目名稱:Computable,代碼行數:20,代碼來源:orthogonal.py

示例7: fit_y

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def fit_y(self, X, Y, x1, x2):
        len(X) != 0
        # if X only include one point, the function will get line y=Y[0]
        if np.sum(X == X[0]) == len(X):
            return Y[0], Y[0]
        p = np.poly1d(np.polyfit(X, Y, 1))
        return p(x1), p(x2) 
開發者ID:zzzDavid,項目名稱:ICDAR-2019-SROIE,代碼行數:9,代碼來源:text_proposal_connector.py

示例8: _systopoly1d

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def _systopoly1d(sys):
    """Extract numerator and denominator polynomails for a system"""
    # Allow inputs from the signal processing toolbox
    if (isinstance(sys, scipy.signal.lti)):
        nump = sys.num
        denp = sys.den

    else:
        # Convert to a transfer function, if needed
        sys = _convert_to_transfer_function(sys)

        # Make sure we have a SISO system
        if (sys.inputs > 1 or sys.outputs > 1):
            raise ControlMIMONotImplemented()

        # Start by extracting the numerator and denominator from system object
        nump = sys.num[0][0]
        denp = sys.den[0][0]

    # Check to see if num, den are already polynomials; otherwise convert
    if (not isinstance(nump, poly1d)):
        nump = poly1d(nump)

    if (not isinstance(denp, poly1d)):
        denp = poly1d(denp)

    return (nump, denp) 
開發者ID:python-control,項目名稱:python-control,代碼行數:29,代碼來源:rlocus.py

示例9: quadraticInterpolation

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def quadraticInterpolation(valueList2d, numDegrees, n,
                           startTime=None, endTime=None):
    '''
    Generates a series of points on a smooth curve that cross the given points
    
    numDegrees - the degrees of the fitted polynomial
               - the curve gets weird if this value is too high for the input
    n - number of points to output
    startTime/endTime/n - n points will be generated at evenly spaced
                          intervals between startTime and endTime
    '''
    _numpyCheck()
    
    x, y = zip(*valueList2d)
    
    if startTime is None:
        startTime = x[0]
    if endTime is None:
        endTime = x[-1]
    
    polyFunc = np.poly1d(np.polyfit(x, y, numDegrees))
    
    newX = np.linspace(startTime, endTime, n)
    
    retList = [(n, polyFunc(n)) for n in newX]
    
    return retList 
開發者ID:timmahrt,項目名稱:ProMo,代碼行數:29,代碼來源:interpolation.py

示例10: fit_polynomial

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def fit_polynomial(leftx, lefty, rightx, righty, out_img):
	"""
	fit left and right lane polynomi
	"""
	# check if there is search failure
	if leftx.size == 0 or lefty.size == 0:
		cv2.putText(out_img,"Search failure", (50,60), cv2.FONT_HERSHEY_SIMPLEX,2,(255,0,255),3)
		return out_img 

	# line fit use np.ployfit, second order, note lefty is x, leftx is y, later use ploty to get plotx
	left_fit = np.polyfit(lefty, leftx, 2)
	right_fit = np.polyfit(righty, rightx, 2)
	# print(left_fit)
	# print(right_fit)

	left_lane_fun = np.poly1d(left_fit)
	right_lane_fun = np.poly1d(right_fit)

	# Generate x and y values for plotting
	ploty = np.linspace(0, out_img.shape[0]-1, out_img.shape[0])
	left_plotx = left_lane_fun(ploty)
	right_plotx = right_lane_fun(ploty)

	# Visualization
	# Colors in the left and right lane regions
	out_img[lefty, leftx] = [255, 0, 0]
	out_img[righty, rightx] = [0 ,0 , 255]

	# draw fit line(sue 9 stright line)
	for i in range(0, 9):
		cv2.line(out_img, (int(left_plotx[i*79]), int(ploty[i*79])), (int(left_plotx[(i+1)*79]), int(ploty[(i+1)*79])), (255,255,0),2)
		cv2.line(out_img, (int(right_plotx[i*79]), int(ploty[i*79])), (int(right_plotx[(i+1)*79]), int(ploty[(i+1)*79])), (255,255,0),2)

	# Plots the left and right polynomials on the lane lines
	# plt.plot(left_plotx, ploty, color='yellow')
	# plt.plot(right_plotx, ploty, color='yellow')

	# print(len(leftx))
	# print(len(ploty))
	return out_img 
開發者ID:ChengZhongShen,項目名稱:Advanced_Lane_Lines,代碼行數:42,代碼來源:lane_detection.py

示例11: get_polynomial

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def get_polynomial(leftx, lefty, rightx, righty, img_size):


	left_fit = np.polyfit(lefty, leftx, 2)
	right_fit = np.polyfit(righty, rightx, 2)

	left_lane_fun = np.poly1d(left_fit)
	right_lane_fun = np.poly1d(right_fit)

	ploty = ploty = np.linspace(0, img_size[0]-1, img_size[0])
	left_fitx = left_lane_fun(ploty)
	right_fitx = right_lane_fun(ploty)

	return left_fitx, right_fitx, ploty 
開發者ID:ChengZhongShen,項目名稱:Advanced_Lane_Lines,代碼行數:16,代碼來源:lane_detection.py

示例12: measure_offset

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def measure_offset(leftx, lefty, rightx, righty, ym_per_pix=30/720, xm_per_pix=3.7/700):
	'''
	calculate the the offest from lane center
	'''
	# HYPOTHESIS : the camera is mounted at the center of the car
	# the offset of the lane center from the center of the image is 
	# distance from the center of lane
	
	# Transform pixel to meters
	leftx = leftx * xm_per_pix
	lefty = lefty * ym_per_pix
	rightx = rightx * xm_per_pix
	righty = righty * ym_per_pix

	# fit the polynomial
	left_fit_cr = np.polyfit(lefty, leftx, 2)
	right_fit_cr = np.polyfit(righty, rightx, 2)

	# Define y-value where we want radius of curvature
	# choose the maximum y-value
	y_eval = Y_MAX * ym_per_pix

	left_point = np.poly1d(left_fit_cr)(y_eval)
	right_point = np.poly1d(right_fit_cr)(y_eval)

	lane_center = (left_point + right_point) / 2
	image_center = X_MAX * xm_per_pix / 2

	offset = lane_center - image_center

	return offset 
開發者ID:ChengZhongShen,項目名稱:Advanced_Lane_Lines,代碼行數:33,代碼來源:cal_curv.py

示例13: fit_y

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def fit_y(self, X, Y, x1, x2):
        """
        一元線性函數擬合X,Y,並返回x1,x2的的函數值
        """
        len(X) != 0
        # 隻有一個點返回 y=Y[0]
        if np.sum(X == X[0]) == len(X):
            return Y[0], Y[0]
        p = np.poly1d(np.polyfit(X, Y, 1))
        return p(x1), p(x2) 
開發者ID:yizt,項目名稱:keras-ctpn,代碼行數:12,代碼來源:text_proposal_connector.py

示例14: linear_fit_y

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def linear_fit_y(xs, ys, x_list):
    """
    線性函數擬合兩點(x1,y1),(x2,y2);並求得x_list在的取值
    :param xs:  [x1,x2]
    :param ys:  [y1,y2]
    :param x_list: x軸坐標點,numpy數組 [n]
    :return:
    """
    if xs[0] == xs[1]:  # 垂直線
        return np.ones_like(x_list) * np.mean(ys)
    elif ys[0] == ys[1]:  # 水平線
        return np.ones_like(x_list) * ys[0]
    else:
        fn = np.poly1d(np.polyfit(xs, ys, 1))  # 一元線性函數
        return fn(x_list) 
開發者ID:yizt,項目名稱:keras-ctpn,代碼行數:17,代碼來源:gt_utils.py

示例15: test_poly1d_resolution

# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import poly1d [as 別名]
def test_poly1d_resolution(self):
        p = np.poly1d([1., 2, 3])
        q = np.poly1d([3., 2, 1])
        assert_equal(p(0), 3.0)
        assert_equal(p(5), 38.0)
        assert_equal(q(0), 1.0)
        assert_equal(q(5), 86.0) 
開發者ID:Frank-qlu,項目名稱:recruit,代碼行數:9,代碼來源:test_polynomial.py


注:本文中的numpy.poly1d方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。