Сумма последовательности

elena144

Не бейте, дяденьки, я не математик. Объясните, как правильно решать такие вещи.
Исходная задача у меня выглядит так: есть последовательность вида [math]$$y_{i+1}=y_i*(1-\alpha)+x*\alpha$$[/math], для которой задан [math]$$y_1$$[/math] и известно [math]$$x$$[/math]. Я хочу подобрать такую [math]$$\alpha$$[/math], чтобы некоторое значение [math]$$(x-\epsilon)$$[/math] достигалось за такое число шагов N, при котором [math]$$\sum\limits_{i=1}^N y_i\le Z$$[/math]
Сейчас я пытаюсь найти сумму этой последовательности и получаю (если я нигде не ошибся) формулу вида [math]$$\sum\limits_{i=1}^N y_i=N*y_0+(x-y_0\alpha\sum\limits_{j=1}^{N-1}j-\alpha^2\sum\limits_{k=1}^{N-2}(\sum\limits_{j=1}^{N-1}j)+\alpha^3\sum\limits_{l=1}^{N-3}(\sum\limits_{k=1}^{N-2}(\sum\limits_{j=1}^{N-1}j...)$$[/math].
Что с этим дальше делать и как решать такое неравенство, мне не очень понятно. Можно ли это как-то упростить?

tester1

гугли по словам "линейное разностное уравнение", и будет тебе счастье :)

algimunt

У меня вышло [math]$$\sum_{i=1}^N y_i = \frac{1-(1-\alpha)^N}{\alpha}(y_1-x)+Nx.$$[/math]

griz_a

Предложу решение в лоб, без единой формулы, которую откуда-то нужно брать.
Раз нужна сумма, то переходим к ней:
[math]$ U_n = \sum_{i=1}^{n} y_i = y_1 + (1-\alpha) \sum_{i=1}^{n-1} y_i + (n-1)\alpha x  = (1-\alpha) U_{n-1} + y_1+(n-1) \alpha x.$[/math]
Начинаем сворачивать. Тут принцип тот же, что в дифурах: для начала решим однородное, а там подберем решения неоднородного и готово.
[math]$\tilde{U}_n = (1-\alpha) \tilde{U}_{n-1} = C (1-\alpha)^{n} $[/math]
Теперь подберем такую последовательность, что
[math]$ A_n  = y_1 +(n-1)\alpha x + (1-\alpha) A_{n-1}$[/math]
Методом неопределенных коэффициентов подбираем [math]$A_n = an+b$[/math] с
[math]$a=x,\ b=(y_1-x)/\alpha$[/math]
При этом
[math]$U_n-A_n = \tilde{U}_{n}$[/math]
Значит
[math]$U_n = C(1-\alpha)^{n} + n x+ (y_1-x)/\alpha$[/math], где
[math]$C = (y_1-x)/\alpha$[/math]
Ответ вышел тот же, что и у .
P.S. Спасибо Гоно, который открыл мне, что тег math снова работает :)

tester1

Спасибо Гоно
рад стараться =) хотя и в первом посте этой ветки тоже math работал, так что можно было и без меня догадаться. или это ты меня подкалываешь? ;)

iri3955

Для последовательности
[math]$z_i = y_i - x$[/math]
формула [math]$z_{i+1} = z_i(1-a)$[/math], т.е.
[math]$z_i = z_1 (1-a)^{i-1}$[/math]
[math]$y_i = z_i + x = (y_1 - x) * (1-a)^{i-1} + x$[/math]
Другая вышла....
UPD. А, там сумма же нужна. Та же формула

griz_a

Нет, я просто так привык, что он не работает, что даже не посмотрел бы - решил бы, что это просто картинка вставлена :)
Так что без подколов, большое спасибо :)

tester1

Что ж, хорошо! Возможно, тем, что я тебе указал на возобновление работы ТеХа, я принёс пользы форумчанам больше, чем всеми остальными своими постами :grin:

elena144

Пока не очень догоняю, причём с самого начала :)
Как у тебя получается переход [math]$$\sum\limits_{i=1}^{n}y_i=y_1+(1-\alpha)\sum\limits_{i=1}^{n-1}y_i+(n-1)\alpha x$$[/math],
если по идее должно быть [math]$$\sum\limits_{i=1}^{n}y_i=\sum\limits_{i=1}^{n-1}y_i+(1-\alpha)y_{n-1}+\alpha x=\sum\limits_{i=1}^{n-1}y_i+y_1+(x-y_1)\alpha^{n-1}$$[/math]
Тема с An и Bn (:confused:) тоже не очень понятна.

tester1

Пока не очень догоняю, причём с самого начала
последуй моему совету в первом моём посте
такие уравнения решаются в общем виде, нет особой нужды разбираться в нюансах именно этого уравнения, надо применить к нему общий метод и всё
а после того, как у тебя будет формула для решения этого уравнения, сумма должна находиться легко

griz_a

Сперва про формулу для суммы. Я сложил уравнения по i от 1 до n-1, а потом прибавил к ним y_1. Соответственно слева получились все y_i от 1 до n, справа - от 1 до n-1 c [math]$1-\alpha$[/math], плюс еще первый.
B_n это опечатка была.
Что же до A_n, то я пользуюсь стандартным методом линейных диф. уравнений (то же работает и для разностных) - решаю однородное в общем виде, подбираю одно решение неоднородного, складываю их и получаю все решения неоднородного.
А одно решение неоднородного тут просто угадывается.

Evgewkin

На maxima можно посчитать.
 load("solve_rec")$
load("draw")$

simpsum: true$

y_exp: rhs(solve_rec(y[i+1]=y[i]*(1-alpha) + x*alpha, y[i], y[1]=y[1]$

/* выражение для n-ого члена */
y_n: multthru(subst(i=N, y_exp;
y_sum: multthru(factor(sum(y_exp, i, 1, N$
/* выражение для суммы как у и */
y_sum: substinpart(factor(piece y_sum, [1, 2, 3, 4]);

/* можно подставить числа */
vars: [y[1]=1, x=2, eps=1/10, Z=10]$

/* ещё нужны минимальные и максимальные `alpha' и `N' для графика */
gimp(e):=implicit(e, alpha, 1/100, 99/100, N, 0, 10)$

/* неявные функции, заданные двумя уравнениями */
eq: ev([y_n - x + eps, y_sum - Z], vars, infeval)$

obj: maplist('gimp, eq)$
draw2d('line_width=4, 'xlabel="alpha", 'ylabel="N", 'grid = true,
/* terminal='svg, file_name="se", */
'key = "y_i = x - eps", 'color='blue, obj[1],
'ytics = [0, 1, 1e3],
'key = "sum(y_i) = Z", 'color='red, obj[2] )$

Вывод, в котором можно найти формулы.
(%i1) load("solve_rec")$

(%i2) load("draw")$

(%i3) simpsum: true$

(%i4) y_exp: rhs(solve_rec(y[i+1]=y[i]*(1-alpha) + x*alpha, y[i], y[1]=y[1]$

(%i5) y_n: multthru(subst(i=N, y_exp;
N
(1 - alpha) x N - 1
(%o5) -------------- + x + y (1 - alpha)
alpha - 1 1
(%i6) y_sum: multthru(factor(sum(y_exp, i, 1, N$

(%i7) y_sum: substinpart(factor(piece y_sum, [1, 2, 3, 4]);
N
1 - alpha) - 1) (x - y )
1
(%o7) x N + ---------------------------
alpha
(%i8) vars: [y[1]=1, x=2, eps=1/10, Z=10]$

(%i9) gimp(e):=implicit(e, alpha, 1/100, 99/100, N, 0, 10)$

(%i10) eq: ev([y_n - x + eps, y_sum - Z], vars, infeval)$

(%i11) obj: maplist('gimp, eq)$

(%i12) draw2d('line_width=4, 'xlabel="alpha", 'ylabel="N", 'grid = true,
/* terminal='svg, file_name="se", */
'key = "y_i = x - eps", 'color='blue, obj[1],
'ytics = [0, 1, 1e3],
'key = "sum(y_i) = Z", 'color='red, obj[2] )$

График

Правее синей линии --- y[i] - x < eps, ниже красной --- sum(y[i], i, 1, N)<Z.
Онлайн:
http://maxima-online.org/?inc=r1631177491
Оставить комментарий
Имя или ник:
Комментарий: