Autor Wątek: Czy istnieje funkcja różniczkowalna przechodząca w stałą.  (Przeczytany 3240 razy)

Offline koirat

  • Użytkownik

# Listopad 27, 2015, 22:11:56
Tak jak w pytaniu interesuje mnie sytuacja w której funkcja przechodzi z nie stałej w funkcje stałą, ale warunek jest taki iż nie może przechodzić w stałą w nieskończoności.
Interesuje mnie tylko funkcja różniczkowalna.
Musi być również wyrażona pojedynczym wzorem bez szczególnych przypadków takich jak np inne wzory dla x != 0 itp (nie wiem jak się nazywa taki rodzaj funkcji).

Dla przykładu wyobraźmy sobie taki wykres "logarytmu" który się wygina aż do momentu gdy jest równoległy do osi OX i już taki pozostaje.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline karol57

  • Użytkownik

# Listopad 28, 2015, 00:23:45
Chyba chodzi ci o funkcje elementarne.
A więc:
1. Jeżeli uznamy że w zbiorze funkcji elementarnych niema modułu to na 99% nie ma takiej funkcji. Jedyne co mogę powiedzieć: użyj czegoś szybko malejącego jak np. e^-x i przybliż do któregoś miejsca po przecinku.
2. Jeżeli jednak jest moduł to na szybko
naskrobałem coś takiego: (3/2 x+1)/(abs(x)+x/2+1). Wolfram to łyka i liczy pochodną. Na ile to poprawne to nie wiem.

//Edit:.zapomniałem że moduł to to samo co sqrt(x^2)... Późno już
« Ostatnia zmiana: Listopad 28, 2015, 00:29:16 wysłana przez karol57 »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +10
# Listopad 28, 2015, 00:29:17
Cytuj
Tak jak w pytaniu interesuje mnie sytuacja w której funkcja przechodzi z nie stałej w funkcje stałą, ale warunek jest taki iż nie może przechodzić w stałą w nieskończoności.
Precyzując z kontekstu, to szukasz funkcji f(x) dla której a oraz c takie że dla każdego x > a spełniony jest warunek f(x) = c. Racja?

Cytuj
Musi być również wyrażona pojedynczym wzorem bez szczególnych przypadków takich jak np inne wzory dla x != 0 itp (nie wiem jak się nazywa taki rodzaj funkcji).
f(x) = ( x - sqrt(x^2) )^2

Cytuj
1. Jeżeli uznamy że w zbiorze funkcji elementarnych niema modułu to na 99% nie ma takiej funkcji. Jedyne co mogę powiedzieć: użyj czegoś szybko malejącego jak np. e^-x i przybliż do któregoś miejsca po przecinku.
Nie potrzebujesz do tego modułu. Wystarczy stare dobre sqrt(x^2).

Offline koirat

  • Użytkownik

# Listopad 28, 2015, 01:16:53
Rzeczywiście robi robotę ;). Dzięki.

Offline koirat

  • Użytkownik

# Listopad 28, 2015, 01:24:52
Albo może pójdźmy za ciosem :).
Funkcja sigmoidalna która obustronnie przechodzi w stałą. (Plusik do wygrania) ;)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +3
# Listopad 28, 2015, 03:34:05
Albo może pójdźmy za ciosem :).
Funkcja sigmoidalna która obustronnie przechodzi w stałą. (Plusik do wygrania) ;)
Jak już ma się clamp z zerem ogarnięty, to wystarczy juz z tego smoothstep złożyć. :)
f(x) = 3((1+sqrt(x^2)-sqrt((x-1)^2))/2)^2 - 2((1+sqrt(x^2)-sqrt((x-1)^2))/2)^3

Ale powiedz jeszcze z ciekawości do czego Ci takie dywagacje? :)

Offline koirat

  • Użytkownik

# Listopad 28, 2015, 10:24:00
W sumie to co chciałem zrobić już mam ale chciałem to zrobić ładniej :). Albo przynajmniej wiedzieć na przyszłość. Na dzień dzisiejszy mam funkcje podzieloną na dwa przypadki, funkcje smoothstep oraz funkcje stałą.

Chodzi o mechanizm który pozwoli poruszać mi się po pewnej krzywej (w moim wypadku jest to polyline) o znanej długości, ale z pewnymi warunkami.
Podane są prędkości początkowe oraz końcowa.
Podane jest przyspieszenie.
Zmiana prędkości musi być gładka.

Odpowiednio modyfikując ten wzór jestem w stanie otrzymać ogólny wzór na zależność prędkości od czasu dla podanych parametrów. Co za tym idzie jestem również w stanie policzyć ogólny wzór na całkę dzięki której otrzymam drogę jaką przebędzie obiekt w czasie t.

Do ogarnięcia pozostaje mi również sytuacja dla której podane parametry nie będą możliwe do realizacji celu poprzez tą ogólną funkcje.


Niestety z tego co widzę mogą być problemy z otrzymaniem całki z funkcji którą podałeś. Wolframalpha obliczył dość dziwną a na samym dole napisał "Computation timed out". W innym programie wyskoczyło mi "Antiderivative or integral could not be found."

Offline karol57

  • Użytkownik

# Listopad 28, 2015, 14:04:07
Mi Wolfram normalnie policzył:  integral (3/4 (1-sqrt((-1+x)^2)+sqrt(x^2))^2-1/4 (1-sqrt((-1+x)^2)+sqrt(x^2))^3) dx = 1/4 (-(sqrt(x^2) (x^4-2 x^3+1))/x+(x+1) ((x-1)^2)^(3/2)+2 (x-1))+constant

//EDIT: Potem jeszcze mogę w Maple sprawdzić, ale podejrzewam że to samo wyjdzie.
« Ostatnia zmiana: Listopad 28, 2015, 14:08:27 wysłana przez karol57 »

Offline koirat

  • Użytkownik

# Listopad 28, 2015, 14:21:05
Rzeczywiście licząc całkę oznaczoną (0,1) wychodzi 0.5 co by się zgadzało.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Listopad 28, 2015, 14:21:30
Cytuj
Niestety z tego co widzę mogą być problemy z otrzymaniem całki z funkcji którą podałeś. Wolframalpha obliczył dość dziwną a na samym dole napisał "Computation timed out". W innym programie wyskoczyło mi "Antiderivative or integral could not be found."
Jeśli program nie liczy, to można policzyć ją łatwo samemu segmentami - dla x<0 jest 0, dla 0<x<1 jest całka z wielomianu, a dla x>1 jest wartość końcowa całki z wielomianu plus x. Wystarczy poskładać te wyniki jak ja zrobiłem ze smoothstepem, dodać C i mamy wynik.

Offline koirat

  • Użytkownik

# Listopad 28, 2015, 17:41:40
Odtwarzałem twój proces myślowy (mam nadzieje że z powodzeniem) który doprowadził do utworzenia "(sqrt(x^2) +1 - sqrt((x-1)^2))/2" w sumie rzeczywiście jest to do ogarnięcia jak już się zastąpi wartość bezwzględną tym sqrt(x^2).

Zastanawia mnie natomiast czy jest jakaś teoria (dział matematyki) zajmujący się modelowaniem dowolnej funkcji na podstawie pewnych jej założeń.
Kiedyś męczyłem coś takiego prostymi równaniami różniczkowymi i ogólnymi równaniami pewnych funkcji. Jednak było to dość amatorskie podejście.

Offline Lars Kormak

  • Użytkownik

# Listopad 28, 2015, 19:27:50
Jeżeli chodzi o problem, który sprowadza się do znalezienia ekstremum jakiegoś funkcjonału zadanego całką (najkrótsza droga między punktami, maksymalizacja pola przy zadanym obwodzie, etc.), to może zainteresują cię równania Eulera-Lagrange'a.

Offline karol57

  • Użytkownik

# Listopad 28, 2015, 20:15:15
Zauważ, że funkcja podana przez Krzyśka jest w miarę gładka i powinna mieć ciągłą pochodną.

Ale wracając do całki.

Maple ma pewien dziwny problem z sqrt(x^2) - czasami go nie upraszcza (nawet jak wyraźnie mu powiem, że x jest rzeczywiste). Kiedy funkcja zawierała sqrt(x^2) to liczył dobrze, tylko nie umiał tego uprościć, a po zmianie tego na abs policzył tak jak Krzysiek napisał, tylko tego nie złożył: x <= 0, 0
x <= 1, x^3-(1/2)*x^4
1 <  x, x-1/2

@down Wiem, wiem (tylko nie umiałem tego tak ładnie w słowa ubrać). Zależało mi na zwróceniu uwagi OP, że jego funkcja _/‾ nie jest różniczkowalna tak jak chciał.
« Ostatnia zmiana: Listopad 28, 2015, 23:23:12 wysłana przez karol57 »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Listopad 28, 2015, 22:32:58
Zauważ, że funkcja podana przez Krzyśka jest w miarę gładka i powinna mieć ciągłą pochodną.
Ma, bo tak była projektowana. Odcinek wielomianowy pośrodku zaczyna i kończy się mając pochodną równą zero. Używając tutaj wielomianów wyższego stopnia można mieć tutaj ciągłe pochodne nawet wyższych stopni.