2013-08-07 136 views
1

我想繪製R中的水平線,但它給了我一個錯誤。'x'和'y'長度在R中有所不同

代碼:

w <- seq(1, 99, by=1) 
alpha <- 0.1 
beta <- 0.001 

U <- alpha*w -(beta/2)*w*w 
Uprime <- alpha -(beta)*w 
Udprime <- -beta 
Utprime <- 0 

plot(w,Udprime,type = "l",main = "Graph of U(W) versus wealth",xlab = "Wealth",ylab = "Utility Function") 

當我繪製這個功能的時候,我得到這個錯誤:

Error in xy.coords(x, y, xlabel, ylabel, log) : 
    'x' and 'y' lengths differ 

爲什麼會這樣呢?需要一些指導。

+1

因爲'長度(W)== 99'和'長度(Udprime) == 1'?我認爲你的意思是「情節(w,Uprime,...)」。 –

+0

好的謝謝,如何解決這個問題? – lakesh

+0

Udprime是關於'w'的二階導數,對'w'的所有值都是恆定的。所以情節會顯示一條水平線。你試圖真正地策劃什麼? –

回答

4

要繪製財富效用函數二階導數的水平線,您需要確保Udprime對於每個點w都有一個點。有兩種方法可以做到這一點:

快捷鍵:

plot(cbind(w, Udprime)) 

更多 「真正的數學」:

Udprime = -beta * w^0 
相關問題