Portál AbcLinuxu, 9. května 2025 21:26
Řešení dotazu:
Aplikovat to budu v bashi.
To asi ne, když tam jsou floating-point čísla.
ty se jakoby snažíš v bashi namapovat proměnou z jednoho rosahu do druhýho?? :O :O
něco takovýho jak maj jakoby tady v pythonu hele akorátže v bashi nebo to máš nějak víc složitější že to jako nejde takle jednoduše udělat?? :O :O
víc nám to popiš cožeto jakoby chceš :O :O
>>> from scipy.interpolate import interp1d >>> m = interp1d([-1000,1000],[20,50]) >>> m(30) array(35.45)Moje představa je, že cca 95% intervalu by bylo s minimální změnou a k deformaci by docházelo v krajních 5% hodnot. Omlouvám se za způsob vyjadřování, evidentně masivní absence základních matematických znalostí :(
sigmoida hele :O ;D
vošklivý řešení je přidělat zuby takle třeba
m = interp1d([-1000,-100,100,1000],[20,23,47,50])
jinak si to asi jako musíš nějak vážit tu proměnou funckí nějakou matematickou :O :O
x = np.arange(-1000,1000,1) y = m(x) def todle_neni_sigmoida(x): return ((15+1)**(abs(x)/1000) - 1) * np.sign(x) + 35 z = todle_neni_sigmoida(x) for i in range(-1000,1100,100): print(f'x: {i} y: {todle_neni_sigmoida(i)}')
x: -1000 y: 20.0 x: -900 y: 23.874267467916816 x: -800 y: 26.81041316002372 x: -700 y: 29.035595493631007 x: -600 y: 30.721968356908423 x: -500 y: 32.0 x: -400 y: 32.9685668669792 x: -300 y: 33.70260329000593 x: -200 y: 34.25889887340775 x: -100 y: 34.68049208922711 x: 0 y: 35.0 x: 100 y: 35.31950791077289 x: 200 y: 35.74110112659225 x: 300 y: 36.29739670999407 x: 400 y: 37.0314331330208 x: 500 y: 38.0 x: 600 y: 39.27803164309158 x: 700 y: 40.96440450636899 x: 800 y: 43.18958683997628 x: 900 y: 46.125732532083184 x: 1000 y: 50.0
taky sigmoida hele :O ;D
taky sigmoida hele :O ;D
raku -e ' sub in-range ($_ ) { when * < 21 {20 + 1/(22-$_) } when 21 ≤ * ≤ 49 { $_ } when 49 < * { 50 - 1/($_-48) } }; say $_ => in-range $_ for -100,0,30,35,170 '
-100 => 20.008197 0 => 20.045455 30 => 30 35 => 35 170 => 49.991803
v raku boužel jako neexistuje žádný čistý řešení :O :/ :/ ;D
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.