Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Арбитражное уравнение для цен актвива 
V
    Опции темы
Redb
Дата 15.12.2016, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.12.2016

Репутация: нет
Всего: нет



Помогите с арбитражным уравнением.
Необходимо решить уравнение r*p=d(t)+ṗ.
Функция должна возвращать значение (−p˙) как функцию от p и (−t).
В условие задано, что при t>=20 d(t)=0.
Функция d(t) рассчитывается по следующему коду:
Код

function d = dividend(t)
d = 1 * and(t >= 5, t < 10) + 0.02 * t .* (t < 5) + 0.1 * (15 - t) .* and(t >= 10, t < 15);

Пишу следующий код для решения уравнения:
Код

    function ndp = neg_dot_p(neg_t,p)
    %NEG_DOT_P
    %функции возвращает значение (-pМ‡)
    %как функцию от p и (-t)
     
    %получаем доступ к глобальным переменным
    global r
    %используем уравнение r*p=d(t)+pМ‡
    if (abs(neg_t)>=20)
        ndp = r*p;
    else
        ndp =  r*p - dividend(neg_t); %
    end
    end

При этом должно быть удовлетворено условие: lim(|p(t)|)<∞ при t →∞
Какое тогда будет уравнение p(t)?
Функция должна проходить текст:
Код

for i = 1:1000;
  res = res + neg_dot_p(-i/100, i/1000);
end
if abs(res - 475) > 1
  fprintf('test not passed\n');
  error('Function "neg_dot_p" is not correct');
end

В чем ошибка?
PM MAIL   Вверх
Google
  Дата 26.5.2019, 12:00 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Математические пакеты | Следующая тема »


 




[ Время генерации скрипта: 0.0737 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.