假設我有一個簡單的數學函數n1=m1*n1
,並且我想繪製該函數,因爲n1接近無窮大。有沒有快速的方法來做到這一點?繪製R函數限制函數
m1=0.1
初始n1=0.1
還是我必須要使用deSolve和建立微分方程?必須有一個快速的方法來做到這一點。
假設我有一個簡單的數學函數n1=m1*n1
,並且我想繪製該函數,因爲n1接近無窮大。有沒有快速的方法來做到這一點?繪製R函數限制函數
m1=0.1
初始n1=0.1
還是我必須要使用deSolve和建立微分方程?必須有一個快速的方法來做到這一點。
如果你的意思是在這個等式中的下一個值取決於最後一個值,你將成立這樣的:
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")
是的,它是一個衍生物,你的例子不起作用。初始狀態下的值用於計算t + 1時的值。如果你不知道他們會是什麼,你爲什麼要分配y的值。 –
在初始狀態爲0.1之後,下一個值爲0.01,下一個值爲0.001,依此類推。上面的代碼表明''t'時刻的值取決於't-1'處的'y'的值,這與說出初始狀態後的值完全相同('t = 2')取決於初始狀態('t = 1')。這只是通過for循環完成的。 –
我不明白你爲什麼用seq函數初始化y。 –
這看起來像一個獨立的地圖(即'N1(T + 1)= M1 * n1(t)')而不是微分方程。你的意思是'd(n1)/ dt = m1 * n1'? R沒有象徵性的計算能力(例如有限制)...... –