2014 dxdy logo

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

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




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

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

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

 
 
 
 
Сообщение21.08.2008, 17:59 
Аватара пользователя
Понятия "непрерывность", "производная", а тем паче "непрерывность производной" применительно к дискретным рядам выглядят некоторым оксюмороном.

 
 
 
 Re: Вопрос по экстраполяции данных...
Сообщение21.08.2008, 18:15 
Аватара пользователя
AKazak писал(а):
Здравствуйте!

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

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

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

 
 
 
 
Сообщение21.08.2008, 18:32 
Аватара пользователя
Извините пожалуйста...

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

 
 
 
 
Сообщение21.08.2008, 21:54 
Аватара пользователя
AKazak писал(а):
Извините пожалуйста...

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

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

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

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

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

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

 
 
 
 
Сообщение22.08.2008, 06:54 
Аватара пользователя
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 
Аватара пользователя
В окрестности нуля x, exp(x) и ln(1+x) ведут себя более-менее одинаково.
А так-то общая идея - взять функцию, которая "как надо" около 0, и функцию, которая "как надо" около 1, помножить их, соответственно, на (1-x) и на x, да сложить.

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

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

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

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


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

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


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