2012-01-24 81 views
1

我有intialconditions:解決NDSolve和dependet變量ODE

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}]; 

,我想是一個抽象的溶液(SF(t)的SM(t)的,p(t))與NDSolve進行繪圖,稍後繪製它。 我的問題是所有的變量都依賴於所有3個方程,所以我不知道如何編寫NDSolve調用。

+1

如果你有一個抽象(分析)解決方案,那麼你不需要'NDSolve'繪製,只需要使用'Plot'在功能'DSolve'回報。如果它返回任何內容... –

回答

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 graphics