1

私には初期条件があります:

sf = 200; 
sm = 100; 
p = 40; 
betaf = 0.15; 
betam = 0.15; 
mums = 0.02; 
mufs = 0.02; 
sigma = 0.20; 
mum = 0.02; 
muf = 0.02; 

とODE:

sf' := -muf*sf + (betaf + mums + sigma)*p - HarmonicMean[sf, sm]; 
sm' := -mum*sm + (betam + mufs + sigma)*p - HarmonicMean[sf, sm}]; 
p' := p - (mufs + mums + sigma)*p + HarmonicMean[{sf, sm}];

私が欲しいのは、後でプロットするためのNDSolveを使用した抽象的なソリューション(sf(t)、sm(t)、p(t))です。私の問題は、すべての変数が3つの方程式すべてで依存しているため、NDSolve呼び出しの記述方法がわからないことです。

4

1 に答える 1

2

分析的な解決策を得ることができませんでしたが、数値的な解決策は次のようになります。リストしたすべてのシンボルがシステムの変数であるとは限らないことに注意してください。独立変数tに依存しないシンボルはパラ​​メーターです。(OPのコードにはいくつかのタイプミスがあることにも注意してください)。

variables = {sf[t], sm[t], p[t]};
parameters = {betaf -> 0.15, betam -> 0.15, mums -> 0.02, 
   mufs -> 0.02, sigma -> 0.20, mum -> 0.02, muf -> 0.02};

equations = {
   sf'[t] == -muf*sf[t] + (betaf + mums + sigma)*p[t] - 
     HarmonicMean[{sf[t], sm[t]}],
   sm'[t] == -mum*sm[t] + (betam + mufs + sigma)*p[t] - 
     HarmonicMean[{sf[t], sm[t]}],
   p'[t] == 
    p[t] - (mufs + mums + sigma)*p[t] + HarmonicMean[{sf[t], sm[t]}],
   sf[0] == 200,
   sm[0] == 100,
   p[0] == 40
   };

sol = NDSolve[equations /. parameters, variables, {t, 0, 100}];

Plot[Evaluate[variables /. sol], {t, 0, 100}]

Mathematicaグラフィックス

于 2012-01-24T12:50:42.717 に答える