ФлеймФорумПрограммирование

помогите подобрать формулу функции

#0
7:49, 27 фев 2014

нужно функцию подобрать которая удовлетворяет таким условиям:
f( 0 ) = 25
f( x ) при х -> +∞ стремится к +50
f( x ) при х -> -∞ стрнемится к 0

да и функция неразрывной должна быть и по возможности гладкой :-)

#1
8:01, 27 фев 2014
50 * atan(x * 0.05) / pi  + 25

Вместо  0.05 можно другие значения попробовать, условия от этого не нарушатся

#2
8:04, 27 фев 2014

SunnyBunny
> 50 * atan(x * 0.05) / pi + 25
ммм очень резко падает к нулю после перехода х через 0
хочется более "плавный переход"
а если играться коэффициентом 0,05 то вся функция "едет" при значениях х больше 0

#3
8:08, 27 фев 2014

(th(x) + 1) * 25,

где th— гиперболический тангенс

#4
8:22, 27 фев 2014

progman
> а если играться коэффициентом 0,05 то вся функция "едет" при значениях х больше 0
Она не едет, а растягивается вдоль оси Х

#5
10:03, 27 фев 2014

progman
Вот без тригонометрии, на бейсике, можно менять масштаб вдоль Y - ту самую скорость изменения при переходе через 0

Function F(ByVal x As Double) As Double
  Dim t As Double

  x = x * 0.1 'масштаб вдоль оси Y
  If x > 0 Then t = 1 Else t = -1
  x = x + t
  F = 25 + 50 * ((x * Abs(x)) / (x * x + 1) - 0.5 * t)
End Function
#6
10:08, 27 фев 2014

NightmareZ
>>(th(x) + 1) * 25,

спасибо за наводку про гиперболические функции я как раз забыл уже
(th(0.00125*x) + 1) *25 - идеальный вариант для меня

#7
10:11, 27 фев 2014

Mikle
но и ифом, что влечёт нарушение бесконечной дифференцируемости

#8
11:26, 27 фев 2014

TarasB
> влечёт нарушение бесконечной дифференцируемости
В общем виде - да, но оно надо?

ФлеймФорумПрограммирование

Тема в архиве.