2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Вопрос по экстраполяции данных...
Сообщение21.08.2008, 16:43 
Аватара пользователя


09/03/06
67
Moscow
Здравствуйте!

Есть непрерывная функция, начинающаяся с ненулевого значения. Нужно дополнить её слева таким образом, чтобы результирующая функция начиналась с нуля. Также необходимо обеспечить непрерывность производных между дополнением и исходными данными, а также желательно задавать характер производной дополнения в окрестности нуля.

Подскажите пожалуйста полезную функцию или литературу для решения задачи...

 Профиль  
                  
 
 
Сообщение21.08.2008, 17:59 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Понятия "непрерывность", "производная", а тем паче "непрерывность производной" применительно к дискретным рядам выглядят некоторым оксюмороном.

 Профиль  
                  
 
 Re: Вопрос по экстраполяции данных...
Сообщение21.08.2008, 18:15 
Аватара пользователя


17/07/08
322
AKazak писал(а):
Здравствуйте!

Есть дискретный временной ряд чисел, начинающийся с ненулевого значения. Нужно дополнить его слева таким образом, чтобы результирующий ряд начинался с нуля. Также необходимо обеспечить непрерывность производных между дополнением и исходными данными, а также желательно задавать характер производной дополнения в окрестности нуля.

Подскажите пожалуйста полезную функцию или литературу для решения задачи...

Можно-ли озвучить Вашу задачу так:
"Есть таблично заданная функция. Есть подозрение что она непрерывная и имеет непрерывную первую произхводную."?

 Профиль  
                  
 
 
Сообщение21.08.2008, 18:32 
Аватара пользователя


09/03/06
67
Moscow
Извините пожалуйста...

Речь идет о непрерывной функции. Условие задачи исправил...

 Профиль  
                  
 
 
Сообщение21.08.2008, 21:54 
Аватара пользователя


17/07/08
322
AKazak писал(а):
Извините пожалуйста...

Речь идет о непрерывной функции. Условие задачи исправил...

Это типичная задача одномерной экстраполяции. Вам должно быть понятно, что искомые значения в т. 0 будут приближенными. Степень точности зависит от характера функции. Дело-швах, если функция сильно осциллирует около т. 0. Если ф-я монотонная, то проблем нет. Можно, напр. использовать кубический сплайн.
Еще лучше использовать нейросеть.

 Профиль  
                  
 
 
Сообщение22.08.2008, 05:47 
Аватара пользователя


09/03/06
67
Moscow
Спасибо!

Мне нужно найти монотонное дополнение искомой функции до нуля, но нужно "сшить" по производным это дополнение с исходной функцией и иметь возможность менять характер дополнения в окрестности нуля (например как x, exp(x), ln(1+x) и т. д.).

Кубический сплайн хорошо "сшивается" с исходной функцией, но я не знаю как менять его поведение в окрестности нуля...

Какие ещё будут предложения? Может есть какая-нибудь грамотная и толковая литература по теме?

 Профиль  
                  
 
 
Сообщение22.08.2008, 06:54 
Аватара пользователя


17/07/08
322
AKazak писал(а):
Спасибо!

Мне нужно найти монотонное дополнение искомой функции до нуля, но нужно "сшить" по производным это дополнение с исходной функцией и иметь возможность менять характер дополнения в окрестности нуля (например как x, exp(x), ln(1+x) и т. д.).

Кубический сплайн хорошо "сшивается" с исходной функцией, но я не знаю как менять его поведение в окрестности нуля...

Какие ещё будут предложения? Может есть какая-нибудь грамотная и толковая литература по теме?


Для кубического сплайна можно сконструировать граничное условие общего вида для т.н. "кубического выхода" функции (т.е. Вы считаете что через т.0 проходит кубический полином).
Вот одна из п/п для кубического сплайна из "КУБИС - пакет прикладных программ для интерполяции и дифференцирования функций с помощью сплайнов третьей степени (кубических сплайнов), Препринт ИАЭ им. И.В. Курчатова №3273/16, М. 1980, Авт. Катковский Е.А. и др."
(Наклоны в терминологии сплайнов - это аналоги первых производных)

Код:
           SUBROUTINE  SUEVLC             
C***************               
C     ПOДПPOГPAMMA ДЛЯ PACЧETA HAKЛOHOB       
C     HEПEPИOДИЧECKOГO KУБИЧECKOГO CПЛAЙHA   
C     C ПEPEMEHHЫM ШAГOM       
C***************               
C     ПAPAMETPЫ OБPAЩEHИЯ K ПOДПPOГPAMME :
C       XZ1  , MACCИB ЗHAЧEHИЙ HAKЛOHOB B УЗЛAX CETKИ 
C               PAЗMEPHOCTЬЮ M ;
C       Y    , MACCИB OPДИHAT ПPИБЛИЖAEMOЙ   
C               ФУHKЦИИ PAЗMEPHOCTЬЮ M ;
C       Z    , MACCИB AБCЦИCC PAЗMEPHOCTЬЮ M ;
C       C1   , УKAЗATEЛЬ TИПA KPAEBЫX УCЛOBИЙ HA ЛEBOЙ ГPAHИЦE :
C               C1 = 0.-ЗAДAHA ПEPBAЯ ПPOИЗBOДHAЯ ;
C               C1 < 0.-ЗAДAHA BTOPAЯ ПPOИЗBOДHAЯ ;
C               C1 > 0.-ЗAДAHO KPAEBOE УCЛOBИE OБЩEГO TИПA ;
C       Y121 , KPAEBЫE УCЛOBИЯ HA ЛEBOЙ ГPAHИЦE ;
C       AM   , УKAЗATEЛЬ TИПA KPAEBЫX УCЛOBИЙ HA ПPABOЙ ГPAHИЦE :
C               AM = 0.- ЗAДAHA ПEPBAЯ ПPOИЗBOДHAЯ ;
C               AM < 0.- ЗAДAHA BTOPAЯ ПPOИЗBOДHAЯ ;
C               AM > 0.- ЗAДAHO KPAEBOE УCЛOBИE OБЩEГO TИПA ;
C       Y12M , KPAEBЫE УCЛOBИЯ HA ПPABOЙ ГPAHИЦE ;
C       M    , ЧИCЛO УЗЛOB CETKИ CПЛAЙHA .
C***************               
     *( XZ1 , Y , Z , C1 , Y121 , AM , Y12M , M )     
      DIMENSION  Y( 1 ) , Y121( 1 ) , XZ1( 1 )
     *, Z( 1 ) , Y12M( 1 )   
      IF ( C1 ) 1 , 2 , 3       
    1 XZ1( 1 ) = ( Y( 2 )-Y( 1 ) )/( Z( 2 )-Z( 1 ) )   
     *        *1.5-( Z( 2 )-Z( 1 ) )*Y121( 1 )*0.25   
      Q1 = -0.5
      GO TO 4 
    2 XZ1( 1 ) = Y121( 1 )     
      Q1 = 0.0
      GO TO 4 
    3 XZ1( 1 ) = 0.5*Y121( 1 ) 
      Q1 = -0.5*Y121( 1 )       
    4 N = M-1 
      QK = Q1 
      IF ( N .LE.1 ) GO TO 55 
      DO 5 K = 2,N             
      ZM = Z( K+1 )-Z( K-1 )   
      ZF = Z( K+1 )-Z( K )     
      ZA = Z( K-1 )-Z( K )     
      ZLJ = ZF/ZM               
      Q1 = ZLJ*Q1+2.0           
      ZMJ = ZA/ZM               
      DK = ( ( Y( K-1 )-Y( K ) )*ZLJ/ZA+     
     *       ( Y( K )-Y( K+1 ) )*ZMJ/ZF )*3.0
      XZ1( K ) = ( DK-ZLJ*XZ1( K-1 ) )/Q1     
    5 Q1 = ZMJ/Q1               
   55 IF ( AM ) 6 , 7 , 8       
    6 XZ1( M ) = ( ( Y( M )-Y( M-1 ) )/ZF*3.0 +ZF*Y12M( 1 )             
     *         *0.5  -XZ1( M-1 ) )/( Q1+2.0  )
      GO TO 9 
    7 XZ1( M ) = Y12M( 1 )     
      GO TO 9 
    8 XZ1( M ) = ( Y12M( 1 )-Y12M( 2 )*XZ1( M-1 ) )   
     *          /( Q1*Y12M( 2 )+2.0 )         
    9 XZ1( M-1 ) = Q1*XZ1( M )+XZ1( M-1 )     
      IF ( N .LE.1 ) RETURN             
      DO 10 L = 2,N             
      K = M-L 
      Q1 = QK 
      IF ( K .LE.1 ) GO TO 10 
      DO 110 J = 2,K           
      ZM = Z( K+1 )-Z( K-1 )   
      ZF = Z( K+1 )-Z( K )     
      ZA = Z( K-1 )-Z( K )     
      ZLJ = ZF/ZM               
      Q1 = ZLJ*Q1+2.0           
      ZMJ = ZA/ZM               
  110 Q1 = ZMJ/Q1               
   10 XZ1( K ) = XZ1( K+1 )*Q1+XZ1( K )       
      RETURN               
      END   
 


Из книг посоветую:
1. Классика: Алберг Дж.,Нильсон Э.,Уолш Дж. Теория сплайнов и ее приложения. М Мир 1972г. 318с.
2. Очень доступное изложение с примерами: Завьялов Ю. С. и др. Методы сплайн-функций. / Ю. С. Завьялов, Б. И. Квасов, В. Л. Мирошниченко, Под ред. Н. Н. Яненко -- М.: Наука. Гл. ред. физ.-мат. лит. 1980г. 352 с.

 Профиль  
                  
 
 
Сообщение22.08.2008, 09:21 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
В окрестности нуля x, exp(x) и ln(1+x) ведут себя более-менее одинаково.
А так-то общая идея - взять функцию, которая "как надо" около 0, и функцию, которая "как надо" около 1, помножить их, соответственно, на (1-x) и на x, да сложить.

 Профиль  
                  
 
 
Сообщение24.08.2008, 16:07 
Аватара пользователя


09/03/06
67
Moscow
Спасибо!
:)

Добавлено спустя 13 минут 17 секунд:

Как я понял, эта книга

Завьялов Ю. С. и др. Методы сплайн-функций. / Ю. С. Завьялов, Б. И. Квасов, В. Л. Мирошниченко, Под ред. Н. Н. Яненко -- М.: Наука. Гл. ред. физ.-мат. лит. 1980г. 352 с.


очень популярна, но в цифровом виде её обнаружить мне не удалось.
Поделитесь пожалуйста у кого есть...

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

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



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

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


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

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