2012-10-11 62 views
1

我想在R中寫一個函數,它帶有兩個參數x和n,並返回h(x,n); x = 1 有誰知道如何使用for循環來做到這一點?編寫一個帶有兩個參數x和n的函數,並返回h(x,n)。使用FOR循環

我一起工作的功能是: X^0 + X^1 + X^2 ... X^N

我已經工作了這一一段時間,我不知道如果我正確地做這件事。 任何人都可以給我一些關於如何解決這個問題的指導。

這裏是我有什麼..

n = seq(1,6, by = 1) 
x = 1 
h = function (x,n){ 
    for (i in 0:n){ 
     for(i in 1:n){ 
     sum = sum +x^i 
    { 
}} 
+0

當您嘗試上面的代碼時會發生什麼? – 2012-10-11 20:20:37

+2

for循環不是正確的方法。由於R是矢量化的:'sum(x^n)'。如果它的作業,那麼請標記它。 – Justin

回答

4
h <- function(x, n) sum(x^c(0:n)) 
h(1, 6) 
  1. 循環最好在R.首先避免的,你可以在許多情況下使用向量;然後,學會使用apply和朋友(sapplylapply等)。
  2. 幫你一個忙,在作業中用<-而不是=。從長遠來看,這是值得的。
  3. 像其他編程語言,無需聲明變量外的函數的(反正,而且由於n是一個參數傳遞給你的函數,你的第一個任務,對功能沒有影響)
  4. 不要使用seq(),其中簡單的k:n將會這樣做。
+0

非常感謝,我感謝幫助。 – Bill

相關問題