下面是我想擴大和導出功能乳膠代碼:擴展功能,並與DERIV計算導
$f(x) = \sum\limits_{i=1}^n \left(x_i + \frac{h}{2}(1-ih)\sum\limits_{j=1}^i jh(x_j + jh +1)^3 + \frac{h}{2}ih\sum\limits_{j=i+1}^n (1-jh)(x_j+jh+1)^3 \right)^2$
我打算通過deriv(expression(myfunction),c('x1', 'x2','x3','x4','x5','x6'))
推導n=6
。我不知道如何在不擴展函數的情況下計算導數,但如果有方法,請讓我知道。
n<-6
myexpr <- sapply(1:n, function(i) paste(paste('x',i,sep=''),paste('+h/2*(1-',i,'*h)*(',sep=''),
sapply(1:i,function(j) paste('(j*h*(',paste('x',j,sep=''),'j*h+1)^3)',collapse='+')),
paste('+h/2*',i,'*h*(',sep=''),
sapply((i+1):n,function(j) paste('((1-j*h)*(',paste('x',j,sep=''),'+j*h+1)^3)',collapse='+'))
,collapse='+'))
deriv(expression(myexpr),c('x1', 'x2','x3','x4','x5','x6'))
「derive」!=「區分」。無論如何,你寫的代碼失敗時會出現「缺少參數」的錯誤。你如何提供序列術語定義的簡單例子?另外,你真的想要六個獨立變量的函數嗎? –
這太荒謬了。當我運行這個計算時,我會得到:'object.size(myexpr)#62425288 bytes'。 R不是一個符號代數系統。 –
@DWin感謝您的嘗試,無論如何我知道我的代碼是錯誤的,它應該更短,這就是爲什麼我問如何避免重複條款,等你是否正確的表達達到這種規模嗎?也許你可以提供我的代碼只是爲了知道 – nopeva