2011-06-03 54 views
5

任何人都可以更新Octave and R之間的接口狀態嗎? ROctave包是在2002年開發的,但之後沒有新的更新。我喜歡從R中的Octave中調用一些函數,比如「根」。怎麼做?Octave和R之間的接口

感謝您的幫助。

回答

4

我不知道任何積極的R /倍頻程的項目,但如果你只是尋根對於給定的多項式後是可以使用polynomPolynomF包之一:

這裏是有P的例子(x)= 6 + 5 * x + 4 * x^2 + 3 * x^3 + 2 * x^4 + x^5。

在八度,

octave[2] > p = 1:6; 
octave[3] > roots(p) 
ans = 

    0.55169 + 1.25335i 
    0.55169 - 1.25335i 
    -1.49180 + 0.00000i 
    -0.80579 + 1.22290i 
    -0.80579 - 1.22290i 

在R,

> library(polynom) 
> p <- polynomial(6:1) 
> pz <- solve(p) 
> pz 
[1] -1.491798+0.000000i -0.805786-1.222905i -0.805786+1.222905i 
[4] 0.551685-1.253349i 0.551685+1.253349i 
+1

參見'polyroot'在'base'。 – Charles 2011-06-03 18:18:54

+0

感謝您的建議。 – Tony 2011-06-03 20:40:42

6

擴大直接使用的R CHL的角度來看,也可以考慮這些CRAN軟件包,其中明確把倍頻功能R:

然後有舊的,但值得信賴的R/Octave cheat sheet

2012年編輯現在還有一個新興的CRAN包RcppOctave允許R執行Octave代碼。該軟件包處於相當早期的階段,目前只在Unix上運行。

2

我發現這個包CRAN稱爲RcppOctave:

「直接接口到八度的主要目的是促進基於Matlab /倍頻程腳本的端口R.封裝使得能夠從R和作爲調用任何倍頻功能以及瀏覽他們的文檔,在R和Octave之間傳遞變量,在Octave中使用R核心RNG,這確保了隨機計算也是可重複的。「

http://cran.r-project.org/web/packages/RcppOctave/index.html

+0

正確。這是雷諾的一個相當新的軟件包。 – 2012-10-25 21:04:52