當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy polyutils.mapdomain用法及代碼示例


本文簡要介紹 python 語言中 numpy.polynomial.polyutils.mapdomain 的用法。

用法:

polynomial.polyutils.mapdomain(x, old, new)

將線性映射應用於輸入點。

線性Mapoffset + scale*x映射域老的到域新的應用於點x.

參數

x array_like

要映射的點。如果 x 是 ndarray 的子類型,則將保留子類型。

old, new array_like

確定Map的兩個域。每個都必須(成功地)轉換為恰好包含兩個值的一維數組。

返回

x_out ndarray

在兩個域之間應用線性映射後,與 x 形狀相同的點陣列。

注意

實際上,這實現了:

其中

例子

>>> from numpy.polynomial import polyutils as pu
>>> old_domain = (-1,1)
>>> new_domain = (0,2*np.pi)
>>> x = np.linspace(-1,1,6); x
array([-1. , -0.6, -0.2,  0.2,  0.6,  1. ])
>>> x_out = pu.mapdomain(x, old_domain, new_domain); x_out
array([ 0.        ,  1.25663706,  2.51327412,  3.76991118,  5.02654825, # may vary
        6.28318531])
>>> x - pu.mapdomain(x_out, new_domain, old_domain)
array([0., 0., 0., 0., 0., 0.])

也適用於複數(因此可用於將複平麵中的任何線映射到其中的任何其他線)。

>>> i = complex(0,1)
>>> old = (-1 - i, 1 + i)
>>> new = (-1 + i, 1 - i)
>>> z = np.linspace(old[0], old[1], 6); z
array([-1. -1.j , -0.6-0.6j, -0.2-0.2j,  0.2+0.2j,  0.6+0.6j,  1. +1.j ])
>>> new_z = pu.mapdomain(z, old, new); new_z
array([-1.0+1.j , -0.6+0.6j, -0.2+0.2j,  0.2-0.2j,  0.6-0.6j,  1.0-1.j ]) # may vary

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.polynomial.polyutils.mapdomain。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。