2014-04-24 3 views
1

내의 특정 x 값에 대한 y 값을 알아 내기 위해 여기에 문제 문이다 :구문 티카

개의 비선형 상호 의존적 초기치 제 미분 방정식을 분석 용액을 수득 NDSolve을 사용하여 해결 하였다. 이 솔루션은 동일한 x 값의 함수로 다른 매개 변수를 계산하는 데 사용되었습니다. 내가 입력 한 t 값에 대해 Yvalue을 계산하기위한 올바른 구문을 알아 내려고 노력하고있어

X'[t]=a*S[t]*X[t]/(b+S[t] 
S'[t]=-a*S[t]*X[t]/(c(b+S[t])) where a,b,c are also known constants 
X[0]=constant 
S[0]=constant 

soln = NDSolve[{X'[t]=a*S[t]*X[t]/(b+S[t],S'[t]=-a*S[t]*X[t]/(c(b+S[t])),X[0]=constant,S[0]=constant},{X,S},{t,0,50}] 

    The solution is of the form 
X-> InterpolatingFunction[{{0.0,50}},<>],S->InterpolationFunction[{{0.0,50}},<>}} 

Now the new parameter is: Yvalue=(S[t]/.soln)+(X[t]/.soln) 

:

의 우리와 같은 미분 방정식이 있다고 가정 해 봅시다. 전직 하나는 등

2.3 시간 내 주셔서 감사 t = 0.1,0.56에서 Yvalue을 계산해야합니다.

감사합니다, Ankur 모든 매개 변수가 특정 숫자 값을받을 수

답변

1

NDSolve 요구. 당신이 A, B, C 값을 지정하면, X [0], S [0] 조심스럽게 모든 괄호를 일치 조심스럽게 ==는 대 = 올바르게, 다음이

In[1]:= a = 2; b = 3; c = 5; 
    soln = NDSolve[{X'[t] == a*S[t]*X[t]/(b + S[t]), 
    S'[t] == -a*S[t]*X[t]/(c(b+S[t])), X[0]==7, S[0]==11}, {X,S}, {t,0,50}][[1]] 

Out[2]= {X -> InterpolatingFunction[{{0.,50.}}, <>], 
     S -> InterpolatingFunction[{{0.,50.}}, <>]} 

In[3]:= Yvalue = S[t] + X[t] /. soln /. t -> 0.1 

Out[3]= 18.9506 

In[4]:= Yvalue = S[t] + X[t] /. soln /. t -> 0.56 

Out[4]= 25.6919 

In[5]:= Yvalue = S[t] + X[t] /. soln /. t -> 2.3 

Out[5]= 61.9823 

심지어

을 사용할 수 있습니다 사용
In[6]:= Plot[S[t] + X[t] /. soln, {t, 0, 50}, PlotRange -> {0, 70}] 

Out[6]= ...PlotSnipped... 
+0

당신에게 빌 감사합니다! – Ankurmans