コード例 #1
0
ファイル: test_general.py プロジェクト: jzuhone/formulas
def test_gaussian():
    p = gaussian()
    A = 1.0
    mu = 3.0
    sigma = 2.0
    x = np.linspace(-10.,10.,100)
    p.set_param_values(A=A, mu=mu, sigma=sigma)
    assert_allclose(p(x), A*np.exp(-0.5*((x-mu)/sigma)**2)/(np.sqrt(2.*np.pi)*sigma))
コード例 #2
0
def test_gaussian():
    p = gaussian()
    A = 1.0
    mu = 3.0
    sigma = 2.0
    x = np.linspace(-10., 10., 100)
    p.set_param_values(A=A, mu=mu, sigma=sigma)
    assert_allclose(
        p(x),
        A * np.exp(-0.5 * ((x - mu) / sigma)**2) /
        (np.sqrt(2. * np.pi) * sigma))
コード例 #3
0
ファイル: physics.py プロジェクト: jzuhone/formulas
def maxwellian_velocity(v="v", A="A", sigma="sigma"):
    return gaussian(x=v, A=A, sigma=sigma, mu=0)
コード例 #4
0
ファイル: test_base.py プロジェクト: jzuhone/formulas
from formulas.base import Formula1D, variable, Formula2D
from formulas.radial_profiles import NFW_density_profile
from formulas.general import gaussian
import yt.units as u
from numpy.testing import assert_allclose
import pytest

f_x = Formula1D("a*x**2+b","x",["a","b"])
a = 50.*u.km/u.s**2
b = 30.*u.km
f_x.set_param_values(a=a, b=b)

g_x = gaussian(x="x", A="A_x", mu="mu_x", sigma="sigma_x")
g_y = gaussian(x="y", A="A_y", mu="mu_y", sigma="sigma_y")
g_z = gaussian(x="z", A="A_z", mu="mu_z", sigma="sigma_z")
A_x = A_y = A_z = 1.0
mu_x = mu_y = mu_z = 30*u.s
sigma_x = sigma_y = sigma_z = 40*u.s
g_x.set_param_values(A_x=A_x, mu_x=mu_x, sigma_x=sigma_x)
g_y.set_param_values(A_y=A_y, mu_y=mu_y, sigma_y=sigma_y)
g_z.set_param_values(A_z=A_z, mu_z=mu_z, sigma_z=sigma_z)

g_xy = g_x*g_y
g_xyz = g_xy*g_z

x = 60.*u.s
y = 25.*u.s
z = -10.*u.s

def test_unitless():
    assert_allclose(f_x(x).v, f_x.unitless()(x.v))
コード例 #5
0
from formulas.base import Formula1D, variable, Formula2D
from formulas.radial_profiles import NFW_density_profile
from formulas.general import gaussian
import yt.units as u
from numpy.testing import assert_allclose
import pytest

f_x = Formula1D("a*x**2+b", "x", ["a", "b"])
a = 50. * u.km / u.s**2
b = 30. * u.km
f_x.set_param_values(a=a, b=b)

g_x = gaussian(x="x", A="A_x", mu="mu_x", sigma="sigma_x")
g_y = gaussian(x="y", A="A_y", mu="mu_y", sigma="sigma_y")
g_z = gaussian(x="z", A="A_z", mu="mu_z", sigma="sigma_z")
A_x = A_y = A_z = 1.0
mu_x = mu_y = mu_z = 30 * u.s
sigma_x = sigma_y = sigma_z = 40 * u.s
g_x.set_param_values(A_x=A_x, mu_x=mu_x, sigma_x=sigma_x)
g_y.set_param_values(A_y=A_y, mu_y=mu_y, sigma_y=sigma_y)
g_z.set_param_values(A_z=A_z, mu_z=mu_z, sigma_z=sigma_z)

g_xy = g_x * g_y
g_xyz = g_xy * g_z

x = 60. * u.s
y = 25. * u.s
z = -10. * u.s


def test_unitless():