ГлавнаяСеместр 2

Теория

Метод золотого сечения — метод поиска экстремума действительной функции одной переменной на заданном отрезке. В основе метода лежит принцип деления отрезка в пропорциях золотого сечения. Является одним из простейших вычислительных методов решения задач оптимизации. Впервые представлен Джеком Кифером в 1953 году.

Метод описан на википедии: (Википедия)

Про самое золотое число: https://ru.wikipedia.org/wiki/Золотое_сечение

Сделать:

Рекурсивную функцию Фибоначчи

Должна считать для полоительных и отрицательных значений.

    sapply(-10:10,  FUN = fib)
##  [1] -55  34 -21  13  -8   5  -3   2  -1   1   0   1   1   2   3   5   8
## [18]  13  21  34  55

Функцию

Функцию, которая оптимизирует заданную функци f на отрезке [a,b] с заданной точностью \(\epsilon\).

zs <- function(a, b, f, e){
    # тело функции
}

Задать некоторую функцию

    f <- function(r) abs(sum(c(-400, 100/((1+r)^(1:10)))))
    sapply(X = seq(from = 0.1, to = 1,  by = 0.1), FUN = f)
##  [1] 214.45671  19.24721  90.84605 158.64290 203.46831 234.84916 257.85148
##  [8] 275.35009 289.07012 300.09766

Найти экстремумы для разных точностей.

    e <- c(1, cumprod(rep(0.9, 20)))
    zs2 <- function(e) zs(a = 0, b = 1, f = f, e)
    sapply(e, zs2)
##      [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]     [,8]
## [1,]    0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
## [2,]    1 0.618034 0.618034 0.618034 0.618034 0.381966 0.381966 0.381966
##          [,9]    [,10]    [,11]    [,12]    [,13]    [,14]     [,15]
## [1,] 0.000000 0.000000 0.145898 0.145898 0.145898 0.145898 0.1458980
## [2,] 0.381966 0.381966 0.381966 0.381966 0.381966 0.381966 0.2917961
##          [,16]     [,17]     [,18]     [,19]    [,20]    [,21]
## [1,] 0.1458980 0.1458980 0.1458980 0.1458980 0.145898 0.145898
## [2,] 0.2917961 0.2917961 0.2917961 0.2917961 0.236068 0.236068

График

Используйте библиотеку manipulate для следующего графического представления:

Пример графика

Пример графика