2016-11-22 155 views
0

假设我有一个简单的数学函数n1=m1*n1,并且我想绘制该函数,因为n1接近无穷大。有没有快速的方法来做到这一点?绘制R函数限制函数

m1=0.1 

初始n1=0.1

还是我必须要使用deSolve和建立微分方程?必须有一个快速的方法来做到这一点。

+0

这看起来像一个独立的地图(即'N1(T + 1)= M1 * n1(t)')而不是微分方程。你的意思是'd(n1)/ dt = m1 * n1'? R没有象征性的计算能力(例如有限制)...... –

回答

0

如果你的意思是在这个等式中的下一个值取决于最后一个值,你将成立这样的:

m1 <- 0.1 
x <- seq(0.1, 1000, 0.1) 
y <- c(0.1, rep(NA, length(x)-1)) 

for(i in 2:length(x)){ 
    y[i] <- y[i-1] * m1 
} 

plot(y~x, type = "l") 
+0

是的,它是一个衍生物,你的例子不起作用。初始状态下的值用于计算t + 1时的值。如果你不知道他们会是什么,你为什么要分配y的值。 –

+0

在初始状态为0.1之后,下一个值为0.01,下一个值为0.001,依此类推。上面的代码表明''t'时刻的值取决于't-1'处的'y'的值,这与说出初始状态后的值完全相同('t = 2')取决于初始状态('t = 1')。这只是通过for循环完成的。 –

+0

我不明白你为什么用seq函数初始化y。 –