Я снимаю с моей кредитной карты аванс в сумме «сумма», оплачивая авансовый «сбор» (в процентах), с промо-ставкой «int» на время «len».Я должен платить не менее 'min'% от суммы задолженности ежемесячно.
Я помещаю «сумму» на инвестиционный счет с процентным доходом «p», а также осуществляю ежемесячные платежи с этого счета.
Вопрос: для какого значения 'p' я буду безубыточным даже после времени 'len'?
Вот как я настроил это в Mathematica:
DSolve[{
(* I start off owing amount plus the fee *)
owed[0] == amount*(1+fee),
(* The amount I owe increases due to credit card interest,
but decreases due to monthly payments *)
owed'[t] == int*owed[t]-min*12*owed[t],
(* I start off having amount *)
have[0] == amount,
(* The amount I have increases due to investment interest,
but decreases due to monthly payments *)
have'[t] == p*have[t]-min*12*owed[t],
(* After len, I want to break even *)
owed[len] == have[len]
},
{owed[t], have[t]}, {t}]
Mathematica возвращает "DSolve :: bvnul: Для некоторых ветвей общего решения данные граничные условия приводят к пустому решению", что на самом деле разумно: есть только одно значение 'p', которое даст решение для дифференциальных уравнений выше.
Как заставить Mathematica найти это значение?
Я пытался решить для owed [t], затем подставил owed [t] в have [t], а затем решил owed [len] == have [len], но это привело к аналогичной ошибке.Выполнение Reduce для «owed [len] == have [len]» привело к чему-то сложному и безобразному.