我从我的信用卡中预支“金额”的现金,预付“费用”(以百分比形式给出),促销费率为“int”,时间为“len”。我必须每月支付至少 'min'% 的欠款。
我将“金额”存入赚取“p”%利息的投资账户,并从该账户每月支付。
问题:即使在时间 'len' 之后,我会以什么值的 'p' 收支?
以下是我在 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],但这会产生类似的错误。在“owed[len] == have[len]”上运行 Reduce 会产生一些复杂而丑陋的东西。