Финансовые функции и рекурсия

Последовательно преобразуем правую часть (41):

Следовательно, если x есть решение задачи, то его следует искать среди действительных корней многочлена g(t) (t=x/100) степени n, где

(42)

со следующим вектором коэффициентов:

(43)

При этом, по смыслу задачи у многочлена (42) на промежутке (0,1) может быть не более одного корня t=x/100.

Таким образом, решение исходной задачи свелось к нахождению для многочлена g(t) c коэффициентами (43) действительного корня t: 0<t<1. Если такой корень отсутствует, то исходная задача решений не имеет, то есть, только за счет изменения текущей процентной ставки обязательных резервов изменить суммарную величину кредитов системы коммерческих банков в a раз не удастся. Если же корень tÎ(0,1) найден, то решением задачи является величина x=t×100. Иными словами, если назначить процентную ставку обязательных резервов в t×100 процентов, то суммарная величина кредитов измениться в a раз.

Решение исходной задачи может быть найдено с помощью функции times(n,p,a), обращающейся к следующим рекурсивным функциям: pow(a,n), C(n,m), binom2(n,k) и finroo(v). Ниже приведено краткое описание всех этих функций.

pow(a,n) - быстрое возведение действительного или комплексного числа a в целую неотрицательную степень n. Декомпозиция в рекурсии организована с помощью дихотомии - последовательными уменьшениями степени в два раза, то есть представлением a в виде:

C(n,m) - вычисление количества сочетаний из n элементов по m элементов. Декомпозиция в рекурсии организована в соответствии с известной формулой:

binom2(n,k) - вычисление последовательности биномиальных коэффициентов со знаком Декомпозиция в рекурсии организована по величине аргумента s. База рекурсии соответствует значению s=2.

finroo(v) - нахождение в векторе v первой из компонент t, удовлетворяющей условию (Im(t) =0) ×(Re(t) Î(0,1)). Если таковых компонент не имеется, то возвращается значение, равное ¥. Декомпозиция в рекурсии организована по значению длины меняющегося вектора v.

times(n,p,a) - с помощью функций pow(), С() и binom2() находится вектор v коэффициентов (43) многочлена (42). После этого с использованием встроенной функции polyroots(v) отыскиваются корни многочлена (42). При написании программы-функции times(n,p,a) учтено утверждение критерия существования решения задачи, сформулированное ниже в виде леммы 1:

Замечание. Поскольку встроенная функция polyroots() находит значения корней приближенно, то даже при точных коэффициентах многочлена g(t) вместо корня tÎ(0,1) мы можем получить близкий к нему комплексный корень t1 с Re(t1) Î(0,1) и Im(t1) ¹0. Тогда функция times() сообщит об отсутствии решения исходной задачи. Но это может быть и не так. Поэтому получение такого сообщения требует более тщательного анализа корней многочлена (42). Например, искать требуемый вещественный корень в промежутке (0,1) с заданной степенью точности можно методом дихотомии. При этом следует исходить из следующего утверждения.

Лемма 1. Для существования решения исходной задачи необходима и достаточна положительность свободного члена многочлена (42), то есть выполнение условия g(0) >0. Иначе это условие можно записать в виде n>100×b или, по-другому,

Доказательство. Необходимость. Пусть решение x исходной задачи существует. Тогда, как мы уже отмечали, его следует искать среди действительных корней многочлена g(t) (t=x/100 Î (0,1)). Нам понадобится значение g(t) в нуле: g(0) =n-100×b. Пусть t*Î(0,1) - корень g(t). В этом случае

(44)

Но при любом t*Î(0,1) справедливо неравенство:

(45)

Последний переход в (45) сделан с использованием одного замечательного неравенства [13, c.24-27]:

xq - q×x + q -1 > 0 (x > 0, q > 1),

легко устанавливаемого с помощью методов дифференциального исчисления и являющегося основой для доказательства многих классических неравенств таких, например, как основные неравенства Гельдера и Минковского. Но тогда из (44) следует, что g(0) >0 и необходимость установлена.

Достаточность. Пусть выполнено условие g(0) >0. Подсчитаем значение функции g(t) в точке 1:

Последнее неравенство вместе с предположением g(0) >0 гарантирует наличие у многочлена g(t) действительного корня t*Î(0,1), а значит и решения x=t*×100 исходной задачи. Тем самым установлена достаточность, и лемма полностью доказана.

Дополнение 1 к задаче 19. Пусть банки Bk (k=1,2, .,n) функционируют так, как это описано в условиях задачи 19. Можно ли на r процентов (-100<r) изменить суммарную величину кредитов, предоставляемую банками? Если это возможно, то найти новую ставку обязательных резервов.

Решение. Заметим, что если r>0, то величина кредитов увеличивается, а если r<0, то она уменьшается. Далее, поскольку изменение суммарной величины кредитов на r процентов равносильно их изменению в 1+r/100 раз, то необходимо просто решать задачу 19 c a=(1+r/100). Условие существования решения (см. лемму 1) в данном случае запишется так:

Дополнение 2 к задаче 19. Пусть банки Bk (k=1,2, .,n) функционируют так, как это описано в условиях задачи 19. Определить начальную процентную ставку p обязательных резервов, если её изменение до p1 процентов привело к изменению суммарной величины кредитов в b раз.

Страница:  1  2  3  4  5  6  7  8  9  10 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы