Аналитическое обобщение для последовательности

Тема в разделе "МАТЕМАТИКА", создана пользователем _DEN_, 26 фев 2019.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Имеется последовательность чисел, заданная рекурсивно:

    A(n+1) = A(n) * (1 - k) + T * k

    Что происходит? Выражение справа от "равно" - это всем известная функция lerp. Имеется некоторое начальное значение A(0), которое каждую итерацию линейно интерполируется к значению T (от слова target - целевое) на константное значение интерполяционного параметра (в моем случае это k, на вики это t). A(0), T, k - константы. k находится на отрезке [0; 1].

    Для примера - рисунок. На рисунке - первые 50 значений последовательности A(n) при A(0) = 2, T = 1, k = 0.1. По-простому - это первые 50 шагов линейной инторполяции из 2 в 1 с шагом lerp-параметра в 0.1.
    [​IMG]

    Задача - найти аналитическое обобщение этой последовательности (в общем виде). Иными словами - чтобы это была не дискретная последовательность, а непрерывная функция. Как факториал и гамма-функция.

    Я остановился на следующем: A(n) можно выразить через A(0), k и T следующим образом:

    A(n) = A(0) * (k - 1)^n - k * t * Sum(i = [0; n - 1]) [ (-1)^(i+1) * k^i * C(i, n) ],
    где C(i, n) - биномиальный коэффициент из n по i.

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

    PS. Для админов: в предварительном просмотре не работают математические формулы! Я честно пытался, но решил что лучше вообще без форматирования, чем непонятно как.
    --- Сообщение объединено, 27 фев 2019 ---
    Чисто интуитивно тыкнул пальцем в несколько мест в небе, и обобщение нашлось o_O

    A(n) = A(0) * (1 - k)^n + T * (1 - (1 - k)^n) = lerp(A(0), T, 1 - (1 - k)^n)
     
    Последнее редактирование: 27 фев 2019
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    а в чём проблема?
    замени n на х и ты получишь непрерывную функу, пересекающуюся со всеми точками дискретной цепочки. можно взять полином энной степени с эн минус один коэффициентами == реши этот полином относительно эн заданных точек и опять получаешь, что тебе надо. практически любым дикобразом можно получать такую конвертацию. Вопрос лишь в ресурсоёмкости.
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    UbIvItS, процитированная формула - и есть обобщение, которое мне удалось угадать. Просто посты склеились.
     
  4. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    _DEN_, если я правильно понял - дело постепенно движется в сторну интерполяции B-сплайнами, черт бы их побрал? :) Которые мне, в свое время, "всю плешь проели". :)

    Как-то приходилось вспоминать и разбираться с дискретным и быстрым преобразованием Фурье. Разобрался. Потом понадобилось преобразование Лапласа. Чуть, на мой взгляд, сложнее, но тоже разобрался. А на этой долбаной интерполяции B-сплайнами - застрял. :) Плюнул и отложил до лучших времен, когда будет побольше свободного времени.
     
  5. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Ваша функция - угасающая экспонента. Выражение очень похоже на формулу выходного сигнала рекурсивного фильтра нижних частот:
    A(t+1) = A(t)*(1-k) + S(t)*k.
    A(t) - выходной сигнал
    S(t) - входной сигнал
    Только у вас S(t) - константа и равно T.
     
  6. sty

    sty Member

    Публикаций:
    0
    Регистрация:
    2 фев 2019
    Сообщения:
    102
    _DEN_, забыл спросить. Вы программами Maple, Mathematica, MatLab случайно не пользуетесь, когда занимаетесь математикой? Какой-нибудь одной из этих трех.