Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wolfram mathematica Mathematica中计算特定x值的y值的语法_Wolfram Mathematica - Fatal编程技术网

Wolfram mathematica Mathematica中计算特定x值的y值的语法

Wolfram mathematica Mathematica中计算特定x值的y值的语法,wolfram-mathematica,Wolfram Mathematica,以下是问题陈述: 使用NDSolve求解两个非线性相互依赖的初值一阶微分方程,得到解析解。该解用于计算另一个参数,作为相同x值的函数 假设我们的颂歌是: 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

以下是问题陈述:

使用NDSolve求解两个非线性相互依赖的初值一阶微分方程,得到解析解。该解用于计算另一个参数,作为相同x值的函数

假设我们的颂歌是:

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)
X'[t]=a*S[t]*X[t]/(b+S[t]
S'[t]=-a*S[t]*X[t]/(c(b+S[t]),其中a、b、c也是已知常数
X[0]=常数
S[0]=常数
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]=常数,S[0]=常数},{X,S},{t,0,50}]
解决方案的形式如下
X->插值函数[{0.0,50},],S->插值函数[{0.0,50},}
现在新参数是:Yvalue=(S[t]/.soln)+(X[t]/.soln)
我试图找出正确的语法来为输入的t值计算Yvalue。 Ex-需要计算t=0.1、0.56、2.3等时的Y值

谢谢你抽出时间

问候,,
Ankur

NDSolve要求所有参数都指定特定的数值。如果您将值分配给a、b、c、X[0]、S[0],并仔细匹配所有参数,并仔细正确使用==vs=,则这可以工作

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...