Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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
R 用不同的初始条件求解常微分方程_R_Function_Loops_Dataframe - Fatal编程技术网

R 用不同的初始条件求解常微分方程

R 用不同的初始条件求解常微分方程,r,function,loops,dataframe,R,Function,Loops,Dataframe,我正在使用deSolve包运行以下函数。 我想对C_WT的不同初始值运行此函数,然后从数据帧输出中提取所有结果的最后一行 我有什么办法可以这样做吗 kon_WT = 1 koff_WT = 10 R_WT = 20 Complex <- function (t,y,parms){ with(as.list(y), { dC_WT <- koff_WT*RL_WT -kon_WT*R_WT*C_WT dRL_WT <- k

我正在使用deSolve包运行以下函数。 我想对C_WT的不同初始值运行此函数,然后从数据帧输出中提取所有结果的最后一行

我有什么办法可以这样做吗

kon_WT = 1         
koff_WT = 10
R_WT =   20

Complex <- function (t,y,parms){
  with(as.list(y), {
    
    dC_WT <-  koff_WT*RL_WT -kon_WT*R_WT*C_WT 
    dRL_WT <- kon_WT*R_WT*C_WT - koff_WT*RL_WT   #uM
    dR_WT <-  koff_WT*RL_WT -kon_WT*R_WT*C_WT 
      
    
    return(list(c(dC_WT, dRL_WT, dR_WT)))
  })
}
times <- seq(0,1,0.01)
Out <- ode(y = c(C_WT = 10, RL_WT = 0, R_WT= R_WT), 
        times = times, func=Complex, parms=NULL)
Output <- data.frame(Out)

是的,有一种方法可以做到这一点,例如:

resC_WT <- function(iC_WT) {
  times <- seq(0,1,0.01)
  Out <- ode(y = c(C_WT = iC_WT, RL_WT = 0, R_WT= R_WT), times = times, func=Complex, parms=NULL)
  Output <- data.frame(Out)
  return(Output[nrow(Output), ])
}

vectorC_WT <- 1:11
sapply(vectorC_WT, FUN=resC_WT)

是的,有一种方法可以做到这一点,例如:

resC_WT <- function(iC_WT) {
  times <- seq(0,1,0.01)
  Out <- ode(y = c(C_WT = iC_WT, RL_WT = 0, R_WT= R_WT), times = times, func=Complex, parms=NULL)
  Output <- data.frame(Out)
  return(Output[nrow(Output), ])
}

vectorC_WT <- 1:11
sapply(vectorC_WT, FUN=resC_WT)

谢谢你,本。。这是有用的!谢谢你,本。。这是有用的!嗨,乔戈,这真的很有用。。这正是我想要的。如果我现在还想将koff改为三个不同的值,这样对于kd的每个值,iC_WT都适用,那该怎么做??非常感谢你,这真的很有用。。这正是我想要的。如果我现在还想将koff改为三个不同的值,这样对于kd的每个值,iC_WT都适用,那该怎么做??多谢了,我现在还想把koff改成三个不同的值,这样kd C_WT的每个值都会改变,怎么做??多谢了,我现在还想把koff改成三个不同的值,这样kd C_WT的每个值都会改变,怎么做??多谢