Помощь - Поиск - Пользователи - Календарь
Полная версия: странная функция
Форум «Всё о Паскале» > Образование и наука > Математика
Reflex
Препод задал вопрос, а существует ли функция, которая везде непрерывна и нигде не монотонна? помогите ответить
Айра
Может это функция типа y=число. Например: y=1; y=4; y=-15. smile.gif
Michael_Rybak
Наверное, имелась ввиду нестрогая монотонность.
Altair
Цитата
Может это функция типа y=число

Согласен, либо горизонтальная прямая либо точка.
Lapp
Конечно нестрогая. Такой функции не бывает. Увы.
smile.gif
Michael_Rybak
А по-моему бывает... smile.gif Потом напишу, будем искать у меня ошибку
Lapp
Цитата(Michael_Rybak @ 12.12.2006 18:08) *

Потом напишу, будем искать у меня ошибку

Ждем-с..
Впрочем, я тоже пока не доказал невозможности. Вот сейчас лягу и в процессе засыпания буду... буду.. бу... хррр...
smile.gif
Reflex
О! а не поможите ли вы мне доказать что такой функции не бывает?
Altair
Теорема Вейерштрасса.
Если функция f (x) непрерывна на отрезке [a; b], то она ограничена на этом отрезке и достигает своего наибольшего и наименьшего значения.

В условии тебе сказанно, что
Цитата
везде непрерывна

Значит на всей области определения найдется наибольшее и наименьшее значение.
Ну а раз есть наибольшее и наименьшее значение, значит она монотонна

-добавил позже-
http://209.85.135.104/search?q=cache:Y3HeI...lient=firefox-a

по ссылке:
Цитата
© Если непрерывная функция взаимно однозначна, то она строго монотонна.
(Разумеется, верно и обратное.)



-добавил позже-
А вот теперь и я сомневаюсь.
А неоднозначная функция? Если подобрать неоднозначную функцию?


-добавил позже-
Стоп, что значит неоднозначная? Это уже не функция!
Функция - это тройка D,E,F, где D - область определения, E-область значения, а F- это правило соответствия, которое каждому элементу из E сопоставляет единственное значение из E!
Michael_Rybak
"которое каждому элементу из E сопоставляет единственное значение из E!" - это значит, что функция однозначная, но необязательно взаимнооднозначная!

Парабола, к примеру, не взаимнооднозначна.
arhimag
Может это что-то типа функции которая 0 во всех иррациональных и 1 в рациональных, только немного другая?
Michael_Rybak
В общем, у меня пример такой. Функция на [0; 3] задается так: f(0) = 0, f(3) = 3, f(1) = 2, f(2) = 1, а для прямоугольников {(0,0) - (1,2)}, {(1, 1) - (2, 2)} и {(2, 1) - (3, 3)} выполняем ту же процедуру рекурсивно (сохраняя пропорции).

Lapp
Цитата(Michael_Rybak @ 12.12.2006 20:06) *

В общем, у меня пример такой.

А в чем твои сомнения? Все чисто. Оба свойства легко доказываются.
Good job! smile.gif
arhimag
Кхм... Я может чего-то не понимаю, но ведь автору на прямой нужно!
-later
А... все вопрос снимаю, просто можно повторить эти отрезки
Reflex
я чесно говоря не совсем поняла :
1. как рекурсивно? можно еще несколько шагов
2. почему не монотонна
3. почему непрерывна
Michael_Rybak
Цитата
1. как рекурсивно? можно еще несколько шагов

В начале есть отрезок, соединяющий точки (0, 0) и (3, 3). Потом мы этот отрезок "ломаем", т.е. превращаем в ломаную из трех звеньев. Потом мы каждое из этих трех звеньев опять "ломаем", получается 9 звеньев и т.д.

Цитата
2. почему не монотонна
3. почему непрерывна


А это уж ты сама smile.gif
Altair
Цитата
В начале есть отрезок, соединяющий точки (0, 0) и (3, 3). Потом мы этот отрезок "ломаем", т.е. превращаем в ломаную из трех звеньев. Потом мы каждое из этих трех звеньев опять "ломаем", получается 9 звеньев и т.д.

Фрактал что ли?
Michael_Rybak
Вроде фрактала smile.gif Только фигура не подобна сама себе, т.к. коеффициенты сжатия по X и по Y - разные, и меняются.
Lapp
Цитата(Michael_Rybak @ 13.12.2006 6:07) *

Вроде фрактала smile.gif Только фигура не подобна сама себе, т.к. коеффициенты сжатия по X и по Y - разные, и меняются.

Действительно похоже на фрактал.. А слабо оценить ее длину? конечная она или нет? Моя гипотеза - конечная.

Я вспомнил (как всегда, поздно), что уже слышал про существование такой функции, но уточнить ее вид тогда как-то не удосужился, а потом и вовсе забыл. Так что сейчас стал доказывать противоположное sad.gif - чего, разумеется, сделать не смог (хотя был близок несколько раз, но всякий раз не хватало пустяка smile.gif)

Но задача явно красивая и заслуживает особого внимания. И я решил построить ее график.. Смотрите, что получилось:
Нажмите для просмотра прикрепленного файла
Красиво? smile.gif
Разумеется, я вывожу только точки - соединять их линиями для такой функции было бы в корне неверно. Поэтому она выглядит разрывной. Если увеличить количество точек, можно добиться сплошного вида на графике, но будет менее красиво (пробовал, могу положить сюда по запросу).
Если кто хочет поиграться сам, привожу паскалевскую функцию, которая вычисляет эту самую функцию. Кстати, я для себя называю ее Молнией. Не правда ли, похожа? smile.gif
function Lightning(x,s:real):real;
var
a,b,Fa,Fb,d,dF:real;

begin
a:=0;
b:=3;
Fa:=0;
Fb:=3;
repeat
d:=(b-a)/3;
dF:=(Fb-Fa)/3;
if x<a+d then begin
b:=a+d;
Fb:=Fa+dF*2
end
else if x<a+2*d then begin
b:=a+2*d;
a:=a+d;
Fb:=Fa+dF;
Fa:=Fa+2*dF;
end
else begin
a:=a+2*d;
Fa:=Fa+dF
end;
until Abs(dF)<s;
Lightning:=(Fa+Fb)/2
end;

Здесь х - параметр, а s - точность. Я брал точность 0.000001.
Так как насчет вычисления длины, а? smile.gif
Michael_Rybak
Мда... с длиной это, конечно, интересно smile.gif

Ну, по крайней мере, можно посмотреть, что там с ломаными получается, предел какой-никакой записать. Или хоть вычислить первых 10 шагов, и посмотреть...

Еще у меня такой вопрос: можно ли говорить, что если график непрерывной функции f(x) на промежутке [0; 1] имеет длину t, то график функции g(x) = f(x / 10) на промежутке [0; 10] имеет длину 10t ? Глупость, а вдруг правильно? Если правильно, то сразу выходит, что длина не может быть конечной.

По-любому красивая молния smile.gif
Bokul
Извиняюсь за оффтоп, я бы тоже по-участвовал, но знаний не хватает:
Цитата
Кстати, я для себя называю ее Молнией.

Скорее очертание горы напоминает. wink.gif
Lapp
> Глупость, а вдруг правильно?
Нет, не правильно.
Рассмотри почти вертикальный график y=10x на [0,1] (его длина чуть больше 10, а потом растяни его на 10 и получишь длину 14.142
..
> Если правильно, то сразу выходит, что длина не может быть конечной.
Но длина не конечная, верно. Просто мне почему-то хотелось этого smile.gif

> По-любому красивая молния
Спасибо! smile.gif

Добавлено немного позже:
> я бы тоже по-участвовал, но знаний не хватает:
Для представления функции не нужно особых знаний.
Я сейчас положу тут программку, которая рисует последовательность по шагам. На ней все и поймешь.

> Скорее очертание горы напоминает. wink.gif
Во-первых, она обязательно снизу доверху, а гора все же имеет один пик.
Во-вторых, образующий зигзаг явно напоминает стилизованное изображение молнии smile.gif. В этой проге все видно.. Управление - клавиши + и - , выход - Esc. Для управления нужно перейти в окно задачи..
uses
CRT,Graph;

function Lightning(x,s:real):real;
var
a,b,Fa,Fb,d,dF:real;
{n:integer;}

begin
a:=0;
b:=3;
Fa:=0;
Fb:=3;
{ n:=0;}
repeat
d:=(b-a)/3;
dF:=(Fb-Fa)/3;
if x<a+d then begin
b:=a+d;
Fb:=Fa+dF*2
end
else if x<a+d+d then begin
b:=a+2*d;
a:=a+d;
Fb:=Fa+dF;
Fa:=Fa+2*dF;
end
else begin
a:=a+2*d;
Fa:=Fa+dF
end;
{ Inc(n)}
until Abs(dF)<s;
Lightning:=(Fa+Fb)/2;
{WriteLn('n:',n,' a=',a:10:8,' b=',b:10:8,' Fa=',Fa:10:8,' Fb=',Fb:10:8)}
end;

var
GrDr,GrMo,iMax,jMax:integer;
x,dx,y,dy:real;
c:char;

begin
GrDr:=0;
GrMo:=0;
InitGraph(GrDr,GrMo,'');
iMax:=GetMaxY;
jMax:=GetMaxY;
SetColor(DarkGray);
x:=0;
dx:=0.2;
while x<=3.0001 do begin
Line(Round(x/3*iMax),0,Round(x/3*iMax),jMax);
x:=x+dx
end;
y:=0;
dy:=0.2;
while y<=3.0001 do begin
Line(0,Round(y/3*jMax),iMax,Round(y/3*jMax));
y:=y+dy
end;
{x:=0;
dx:=0.0001;
while x<=3.0001 do begin
PutPixel(Round(x/3*iMax),jMax-Round(Lightning(x,0.000001)/3*jMax),LightCyan);
x:=x+dx
end;}
dx:=3;
c:='+';
repeat
x:=dx;
SetColor(Black);
MoveTo(0,jMax);
while x<=3.0001 do begin
LineTo(Round(x/3*iMax),jMax-Round(Lightning(x,0.000001)/3*jMax));
x:=x+dx
end;
case c of
'+': dx:=dx/3;
'-': begin
if dx<=1/3 then dx:=dx*3;
if dx>0.5 then dx:=1
end
end;
x:=dx;
SetColor(LightCyan);
MoveTo(0,jMax);
while x<=3.0001 do begin
LineTo(Round(x/3*iMax),jMax-Round(Lightning(x,0.000001)/3*jMax));
x:=x+dx
end;
repeat
c:=ReadKey
until c in['+','-',#27];
until c=#27;
CloseGraph
end.
Lapp
Насчет длины. Нестрогое рассуждение, но, по-моему, верное.

По мере увеличения числа шагов угол наклона отрезков к оси Х увеличивается. Правда, остаются и куски с малым наклоном (и даже один с наклоном единица, в центреЮ а также два с наклоном 2, ...), но их мало. Когда подавляющее число отрезков станет практически вертикальными, то на каждом шагу их длина будет умножаться на 5/3. Вот поясняющий рисунок:
 |         |
| => |\|
| |

Длина добавившейся части равна 2/3.

Таским образом, длина явно бесконечна smile.gif
Michael_Rybak
Вопрос в том, равна ли длина этой фигуры пределу длин ломаных?

Спасибо за программки, красиво smile.gif
Lapp
> Вопрос в том, равна ли длина этой фигуры пределу длин ломаных?
Ну ты здоров придираться! smile.gif Вопрос, конечно, не совсем праздный, но если учесть, что узлы каждой ломаной остаются жить в функции навсегда, и два соседних узла на некотором шаге соединены кратчайшим путем, а через все узлы, которые появятся между ними, необходимо будет пройти, то станет ясно, что длина ломаной - это как минимум оценка снизу. Таким образом, если длина ломаной стремится к 00, то реальная длина кривой есть тем более бесконечность smile.gif

> Спасибо за программки, красиво smile.gif
Если раскомментировать блок в последнем тексте, то ломанная будет накладываться на первый график. Оччень показательно, особенно к вопросу этого мессаджа smile.gif
hiv
А как же определение непрерывности функции в точке?
Функция f(x) тогда и только тогда непрерывна в точке x0, когда она непрерывна в точке x0 справа и слева, то есть когда выполнены следующие условия:
1) функция f(x) определена в точке x0 и в некоторой окрестности этой точки;
2) существует предел значений функции слева: lim(f(x)) при x->x0- = f(x0-);
3) существует предел значений функции справа: lim(f(x)) при x->x0+ = f(x0+);
4) эти два предела совпадают между собой и со значением функции в точке x0: f(x0-)=f(x0+)=f(x0).

Для вашей ломаной при количестве итераций -> бесконечности уже первое условие не выполняется. Ищите дальше dry.gif
Michael_Rybak
Цитата(Lapp @ 14.12.2006 6:39) *

два соседних узла на некотором шаге соединены кратчайшим путем


Вау! Вау! Мои аплодисменты! Очень красивое решение smile.gif


Цитата(hiv @ 14.12.2006 10:34) *


1) функция f(x) определена в точке x0 и в некоторой окрестности этой точки;

Для вашей ломаной при количестве итераций -> бесконечности уже первое условие не выполняется. Ищите дальше dry.gif


Да ладно smile.gif

Очевидно, что для любой точки X существует стремящаяся к ней последовательность Xi такая, что каждый из Xi - один из "зафиксированных" узлов. Более того, соответствующая последовательность f(Xi) стремится к некоторому числу, это тоже легко показать. Именно это число является значением f(X).
Michael_Rybak
Цитата(Lapp @ 14.12.2006 2:30) *

Насчет длины. Нестрогое рассуждение, но, по-моему, верное.

По мере увеличения числа шагов угол наклона отрезков к оси Х увеличивается. Правда, остаются и куски с малым наклоном (и даже один с наклоном единица, в центреЮ а также два с наклоном 2, ...), но их мало. Когда подавляющее число отрезков станет практически вертикальными, то на каждом шагу их длина будет умножаться на 5/3. Вот поясняющий рисунок:
 |         |
| => |\|
| |

Длина добавившейся части равна 2/3.

Таским образом, длина явно бесконечна smile.gif


Просто, чтобы не оставалось белых пятнышек - эти рассуждения легко сделать строгими.

Рассмотрим замену одного отрезка на ломаную из трех звеньев.

Пусть отрезок соединяет точки (x0, y0) - (x0 + 3dx, y0 + 3dy).

По построению имеем, что dx <= dy.

Длина отрезка равна sqrt(9dx^2 + 9dy^2). Оценим длину полученной ломаной. Это будет sqrt(dx^2 + 4dy^2) + sqrt(dx^2 + dy^2) + sqrt(dx^2 + 4dy^2)

Оценим отношение новой длины к старой:

Код
(sqrt(dx^2 + 4dy^2) + sqrt(dx^2 + dy^2) + sqrt(dx^2 + 4dy^2)) / sqrt(9dx^2 + 9dy^2) >
(sqrt(   0 + 4dy^2) + sqrt(   0 + dy^2) + sqrt(   0 + 4dy^2)) / sqrt(9dy^2 + 9dy^2) =
(               2dy +                dy +                2dy) / (sqrt(18)dy) =
5/sqrt(18) = sqrt(25/18).


Таким образом, длина *каждого* отрезка (а, значит, и всей ломаной) на каждой итерации увеличивается как минимум в sqrt(25/18) - оценка грубая, но достаточная smile.gif
Lapp
Цитата(hiv @ 14.12.2006 12:34) *

Для вашей ломаной при количестве итераций -> бесконечности уже первое условие не выполняется.

hiv, почему?.. Рассмотри способ построения внимательно. На каждом шаге на каждом отрезке функция от любой точки этого отрезка либо фиксируется навсегда (если попадает на узел), либо все более ограничивается . Например, в первой трети (и аналогично в третьей), если перед делением границы a и b, то после деления грвницы a и 2/3*b. Во второй сужения не происходит, но происходит постоянное сужение самой второй трети с переходом точек в первую и вторую трети (кроме централной точки, значение которой фиксировано.
В качестве иллюстрации, рассмотри текст функции, которую я привел выше. Там точность считается достигнутой, когда она попадает в процессе итераций на отрезок, функции от концов которого (не забываем, концы всегда зафиксированы навсегда) разнятся не более, чем на величину точности. И это, осмелюсь утверждать, правильно. Вникни потщательнее, все станет на свои места smile.gif.

Цитата(Michael_Rybak @ 14.12.2006 16:41) *

Вау! Вау! Мои аплодисменты! Очень красивое решение smile.gif

[долго роется в смайликах, отыскивая подходящий, не находит, с шумом набирает воздух в легкие, отодвигает клавиатуру, стучит кулаками по столу, стучит ногами по полу, потом кулаками в грудь, ногами по столу, кулаками по полу, ногами в грудь, придвигает клавиатуру, печатает..] Дорогой Друг и Придирчивый Критик! [с видом победившего в одной отдельно взятой стране социализма оглядывает все вокруг] Никто же не виноват, что Вы соединили точки ломаной in question именно отрезками прямой, а не волнистой линией. Буде это была синусоида, я бы не употребил того выражения, которое привело Вас в столь неистовый восторг, так как оно было бы неправомерным. И тогда заключение о минимальности оценки длины кривой длиной ломаной не имело бы силы - ни de jure, ни de fActo [букву "a" в последнем слове нажимает не пальцем, а ударом кулака, отчего она появляется в верхнем регистре]. Прошу Вас учитывать сии "пренебрежимые" (с Вашей точки зрения) обстоятельства, дабы не попасть, как говорится, "в досаднейший просак" [печатая два последних слова, проговаривает их, с явным удовольствием затягивая звук "ccc" в каждом из них].
[Откидывается на спинку кресла, перечитывает написанное, исправляет 9 стилистических, 17 пунктуационных, 28 орфографических ошибок, сделанных в запале, а также 53 ничем не обусловленные опечатки]

Цитата(Michael_Rybak @ 14.12.2006 17:02) *

на каждой итерации увеличивается как минимум в sqrt(25/18) - оценка грубая, но достаточная

Из твоего рассуждения не следует, что "как минимум". Нужно добавить, что на каждом шаге наклон отрезков либо увеличивается (боковых), либо остается постоянным). А при увеличении наклона посчитанный тобой коэфиициент также увеличивается.
smile.gif
hiv
Цитата(Lapp @ 15.12.2006 2:56) *
hiv, почему?.. Рассмотри способ построения внимательно...
Рассмотрел. Понял. Мои возражения отклоняются. smile.gif
Michael_Rybak
Цитата(Lapp @ 15.12.2006 1:56) *

Никто же не виноват, что Вы соединили точки ломаной in question именно отрезками прямой, а не волнистой линией.


Оставляя без внимания перспективу о досссаднейшем просссаке, позволю себе высказать предположение, что на случай синусоиды Вы вполне вероятно изволили бы потрясти виртуальные стены сего форума другой изящнейшей находкой. Потому продолжаю пренебрегать обстоятельствами. Мое неизменное почтение.

Цитата
Из твоего рассуждения не следует, что "как минимум". Нужно добавить, что на каждом шаге наклон отрезков либо увеличивается (боковых), либо остается постоянным). А при увеличении наклона посчитанный тобой коэфиициент также увеличивается.
smile.gif


Посчитаный мной коэффициент был мной посчитан исходя из того предположения, что dx <= dy. А при увеличении наклона это неравенство остается в силе. sqrt(25/18) - это нижняя оценка, которая выполняется всегда, потому и "как минимум" smile.gif Вроде все правильно написал, почему не "как минимум"? Как минимум - это значит, столько, или больше.
Lapp
Цитата(Michael_Rybak @ 15.12.2006 15:20) *

А при увеличении наклона это неравенство остается в силе. sqrt(25/18) - это нижняя оценка, которая выполняется всегда, потому и "как минимум" smile.gif Вроде все правильно написал, почему не "как минимум"? Как минимум - это значит, столько, или больше.

Я кажется понял - поскольку это относится к моему предыдущему рассуждению, то утверждение об увеличении наклона как бы берется тобой оттуда - так? Извини, я просто хотел добавить, что это необходимое условие.
Вопрос снят smile.gif
Michael_Rybak
Цитата(Lapp @ 15.12.2006 13:41) *

Я кажется понял - поскольку это относится к моему предыдущему рассуждению, то утверждение об увеличении наклона как бы берется тобой оттуда - так? Извини, я просто хотел добавить, что это необходимое условие.
Вопрос снят smile.gif


Ну да, вот:

Цитата(Lapp)
Насчет длины. Нестрогое рассуждение, но, по-моему, верное.


Цитата(Я)
Просто, чтобы не оставалось белых пятнышек - эти рассуждения легко сделать строгими.


Цитата(Я)
По построению имеем, что dx <= dy.


(последнее и есть про наклон)

smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.