1

私はクレジットカードから「金額」のキャッシングサービスを受け取り、前払いの「料金」(パーセンテージで指定)を支払います。時間「len」のプロモーションレートは「int」です。私は毎月、少なくとも'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」の値は1つだけです。 。

Mathematicaにこの値を見つけるように強制するにはどうすればよいですか?

owed [t]を解いてから、owed[t]をhave[t]に置き換えて、owed [len] == have [len]を解いてみましたが、同様のエラーが発生します。「owed[len]== have [len]」でReduceを実行すると、複雑で醜いものが生成されました。

4

1 に答える 1

1

方程式:

owed'[t] == int owed[t]-min 12 owed[t] 

intminの両方が定数の場合、は単なる指数関数です。初期状態で

owed[0] == amount*(1 + fee)  

与える

owed[t_] := amount E^((int - 12 min) t) (1 + fee)  

そしてそれがowed[t]の解決策です

ここで、have[t]を使用できます。

DSolve[{
  have'[t] == p*have[t] - min*12*owed[t],
  have[len] == owed[len]},
 {have[t]}, {t}]  

これにより、損益分岐条件を満たすhave[t]の式が得られます。

pの値を取得するには、最後の式を使用する必要があります。

 have[0] == amount  

または、その値をhave [0]に置き換えた後、次のようになります。

(amount E^(-len p) (1 + fee) (12 E^(len p) min + 
   E^(len (int - 12 min)) (-int + p)))/(-int + 12 min + p) == amount 

この最後の方程式は、pについては簡単に解けないようです。私はいくつかのことを試しました(確かにあまり多くはありません)、そしてそれは強く抵抗します。

しかし...残りのパラメータの数値が与えられると、任意の数値的方法で簡単に解かれます(私は推測します)

于 2010-12-16T00:36:16.913 に答える