2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Рекуррентна формула, которая меняется колоколообразно?
Сообщение29.03.2012, 18:20 
Аватара пользователя
Подскажите рекуррентную формулу, вычислимую на компьютере без навороченных математических библиотек, которая бы менялась от 1 до 0 (полу)колоколообразно, то есть, сперва была близка к 1, а потом падала бы к нулю почти экспоненциально.

 
 
 
 Re: Рекуррентна формула, которая меняется колоколообразно?
Сообщение29.03.2012, 19:14 
Аватара пользователя
Я бы посоветовал использовать простую явную формулу, но, как говорится, хозяин -- барин.
Вот, например:
Используется синтаксис C++
const int N=50;
double a[N];
const double c=300, k=3;
a[0]=1;
for (int n=1; n<N; ++n)
   a[n]=a[n-1]*(n+c)/(k*n+c);
 
Поварьируйте константы $c$ и $k$.
При малых $n$ коэффициент уменьшения близок к единице, при больших стремится к константе $k$, что и соответствует экспоненциальному убыванию.

 
 
 
 Re: Рекуррентна формула, которая меняется колоколообразно?
Сообщение30.03.2012, 11:49 
Аватара пользователя
$x_n=x_n(x_n+a)/2$
a<1

 
 
 
 Re: Рекуррентна формула, которая меняется колоколообразно?
Сообщение30.03.2012, 14:58 
$y'(x)=y(y-1)$, общее решение: $y(x)=\dfrac1{1+e^x}$ (при $y_0\in(0;1)$).

Дискретный аналог: $y_{n+1}-y_n=y_n(y_n-1)$, т.е. $y_{n+1}=y_n^2$. Качественное поведение на бесконечностях -- такое же (только на плюс бесконечности сходимость более быстрая, чем на минус, но это при желании легко подправить).

 
 
 
 Re: Рекуррентна формула, которая меняется колоколообразно?
Сообщение30.03.2012, 15:09 
Аватара пользователя
1. Колокольчик имеется в каждой строчке треугольника Паскаля.

2. Применяем $M$ раз алгоритм скользящего среднего длиной $L$ к единичному отсчёту: $$x(n)=\delta(n)=\begin{cases}1,n=0\\
0,n\neq 0\\\end{cases}$$$$y_1(n)=x(n)-x(n-L)+y_1(n-1)$$ $$y_2(n)=y_1(n)-y_1(n-L)+y_2(n-1)$$$$...$$ $$y_M(n)=y_{M-1}(n)-y_{M-1}(n-L)+y_M(n-1)$$
Изображение

Задавая различные значения $M$ и $L$ можно получить много-много разных колокольчиков в том числе и очень похожих на гауссиан (при больших $M$). Очевидное достоинство в отсутствии умножений при вычислениях. Пример колокольчика при $L=10,M=20$:
Изображение

 
 
 
 Re: Рекуррентна формула, которая меняется колоколообразно?
Сообщение30.03.2012, 23:22 
Аватара пользователя
ewert в сообщении #553794 писал(а):
Дискретный аналог: $y_{n+1}-y_n=y_n(y_n-1)$, т.е. $y_{n+1}=y_n^2$.


Круто! Не пойму только, как регулировать расположение перехода! Начинаю с 0.999999999, переход попадает на 30, начинаю с 0.999999999999999999 -- переход попадает на 42. Допустим, я хочу сделать переход на 1000. Это сколько ж мне девяток надо нарисовать?

И будет ли это считаться на обычных числах double?

 
 
 
 Re: Рекуррентна формула, которая меняется колоколообразно?
Сообщение30.03.2012, 23:33 
Аватара пользователя
Разбавить это иксом в нужной пропорции, вот и вся регулировка. $x_{n+1}=0.9x_n+0.1x_n^2$, делов-то.

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group