首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala中的Jacobian

Scala中的Jacobian
EN

Stack Overflow用户
提问于 2017-04-22 20:18:55
回答 1查看 126关注 0票数 0

在Scala中有没有一种方法/库来计算雅可比,类似于R中numDeriv包中的雅可比函数?我正在使用Breeze,但我无法在其中找到任何与Jacobian相关的内容。

为了清楚起见,我想在Scala中做一些类似以下的事情:

代码语言:javascript
复制
install.packages("numDeriv")     
library(numDeriv)
logistG <- function(r, p, k, t){
        k * p * exp(r*t) / (k + p * (exp(r*t) - 1))
    }

 a <- function(x, k, deltaT){
 c(r=x[1],logistG(r=x[1], p=x[2], k, deltaT))
      }

k <- 100
p0 <- 0.1*k
r <- 0.2
deltaT <- 0.1
x <- c(r, p0)
A <- jacobian(a, x=x, k=k, deltaT=deltaT)  
EN

回答 1

Stack Overflow用户

发布于 2017-06-12 16:03:04

也许您可以将我曾经编写的以下Java代码转换为Scala:

代码语言:javascript
复制
    public static double[][] computeJacobian(Function<double[], double[]> func, double[] x) {

    double EPS = 1E-6;

    double[] d1 = func.apply(x);
    double[][] J = new double[d1.length][x.length];
    for (int i = 0; i < d1.length; i++) {
        double[] vals = x.clone();
        vals[i] += EPS;
        double[] d2 = func.apply(vals);
        for (int j = 0; j < d1.length; j++) {
            J[j][i] = ((d2[j] - d1[j]) / EPS);
        }
    }
    return J;

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43559128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档