2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Закон повторного логарифма для винеровского процесса
Сообщение11.05.2014, 01:49 


04/12/11
5
Здравствуйте.
Подскажите пожалуйста, как найти точки пересечения графиков Вейнеровского процесса ограниченного законом повторного логарифма?

код: [ скачать ] [ спрятать ]
Используется синтаксис Python
import numpy as np
import matplotlib.pyplot as plt
 
@interact
def foo(count=(1,10,1), t=slider(100,1000,100,default=100)):
 
    plt.cla()    
     
    dt = 1/t
   
    x = np.arange(1, step=dt)
    xl = np.arange(1, step=.000001)
       
    W = np.zeros(t, np.dtype(float))
   
#Повторный логарифм "сверху и снизу"
    l = np.sqrt(2*xl*ln(ln(1/xl)))
    plt.plot(xl, l,'r--')    
    plt.plot(xl, -l,'r--')  
       
    mu, sig = 0, 1
       
    for ITER in range(1, count+1): #количество графиков на плоте
        for i in range(1, len(W)):
            W[i] = W[i-1] + np.random.normal(mu, sig) * np.sqrt(dt) #Вейнеровский процесс
        plt.plot(x,W)            
       
    plt.xlabel('t',fontsize=26)
    plt.ylabel('W(t)',fontsize=26)
    plt.grid(True)
    @interact
    def _dee(deep=slider(0.0001, .4, 0.001, default=.2)): #"масштаб"
        plt.xlim(0, deep)
        plt.ylim(-.5, .5)
        plt.show()
 

Изображение

Использую https://cloud.sagemath.com

Спасибо.

 Профиль  
                  
 
 Posted automatically
Сообщение11.05.2014, 05:06 


20/03/14
12041
 i  Тема перемещена из форума «Математика (общие вопросы)» в форум «Карантин»
Тема перемещена в Карантин по следующим причинам:

Сформулируйте внятно постановку задачи.

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 Профиль  
                  
 
 Posted automatically
Сообщение19.05.2014, 20:09 
Супермодератор
Аватара пользователя


20/11/12
5728
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»
Возвращено

 Профиль  
                  
 
 Re: Закон повторного логарифма для винеровского процесса
Сообщение20.05.2014, 00:23 


04/12/11
5
Решено.
Кому интересно:
код: [ скачать ] [ спрятать ]
Используется синтаксис Python
import numpy as np
import matplotlib.pyplot as plt

@interact
def foo(count=(1,20,1), value=slider(1,10000,100,default=100)):
               
    plt.cla()        
    dt = 1/value    
    x = np.arange(1, step=dt)
    xl = np.arange(1, step=0.0000001)    
    W = np.zeros(value, np.dtype(float))  
   
    lin = .2+x*0
    plt.plot(x, lin)
   
    l = np.sqrt(2*x*ln(ln(1/x)))
       
    plt.plot(x, l,'r--') # <= add subplot    
    plt.plot(x, -l,'r--')
    # Z variable, N(0,1)
    mu, sig = 0, 1
       
    for ITER in range(1, count+1):
        for i in range(1, len(W)):
            W[i] = W[i-1] + np.random.normal(mu, sig) * np.sqrt(dt)
        plt.plot(x,W)
    plt.xlabel('t',fontsize=26)
    plt.ylabel('W(t)',fontsize=26)
    plt.grid(True)
    @interact
    def _dee(deep=slider(.01, 2.1, .01,default=1)):
        plt.xlim(0, .5)
        plt.ylim(-.5, .5)
       
        plt.show()
        #print '\nlin ', lin
        print '\nW ', W
        Func = lin - W
        Sign = np.sign(Func)  
        print '\nSign ', Sign
        Diff = np.diff(Sign)
        print '\nDiff ', Diff
        Points = np.where(Diff != 0)[0]        
        print '\nPoints ', Points*dt
 

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group