SHARE
TWEET

Untitled

a guest Aug 22nd, 2019 62 in 2 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. //Диапазон суммирования (берём из Лист1)
  3. $n=9; $m=11;
  4.  
  5. //Значение суммы ряда из которого мы ищем большую ставку (берём из Лист 1)
  6. $A=3442.87/912.475;
  7.  
  8.  
  9. //Для численного вычисления предолагаем, что высокая ставка меньше 100%
  10. //Но так же предполагаем, что он больше чем маленькая ставка r
  11. //Задаём  левую и правую границу для численой апроксимации
  12. $right = 1/12;
  13. $left=0.07/12; //(берём из Лист1)
  14.  
  15.  
  16.  
  17. //Функция вычисляет сумму степенного ряда на основе ставки
  18. function SumCalc($rate, $n, $m)
  19. {
  20.     $tmpSum = 0; //накопленная сумма
  21.     for($i=$n; $i<=$m; $i++)
  22.         $tmpSum = $tmpSum + pow((1+$rate), $i); //возводим 1+rate в степень i
  23.  
  24.     return $tmpSum;
  25. }
  26.  
  27.  
  28.  
  29. //Инициализируем первое значение ставки R (первое предполагаемое значение)
  30. $R=($right+$left)/2;
  31.  
  32. //Будем выполнять 20 итераций поиска ставки (это 2^20 что более 1000 000 дискретизации)
  33. for($j=0; $j<20; $j++)
  34. {
  35.     if(SumCalc($R, $n, $m) > $A) //Наша предполагаемая ставка оказалась большая
  36.     {
  37.         $right=$R; //Правую границу смещаем в лево на прошлую предполагаемую ставку
  38.         $R=($R+$left)/2; //Берём среднее между текущей предполагаемой ставкой R и левой границей диапазона апроксимации
  39.     }
  40.     else //Наша предполагаемая ставка оказалась маленькая
  41.     {
  42.         $left=$R; //Левую границу смещаем в право на прошлую предполагаемую ставку
  43.         $R=($R+$right)/2; //Берём среднее между текущей предполагаемой ставкой R и правой границей
  44.     }
  45. }
  46.  
  47. //После цикла выше мы должны уже иметь ответ в виде R (не забудь привести его к годовой из месячной, а так же учесть что это ставка сложного процента! Её нужно потом к простой привести)
  48. //(1+R)^12 - это либо тут сделай либо в Excel
  49. echo $R;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top