本文整理匯總了Java中org.apache.commons.math3.linear.ArrayRealVector.dotProduct方法的典型用法代碼示例。如果您正苦於以下問題:Java ArrayRealVector.dotProduct方法的具體用法?Java ArrayRealVector.dotProduct怎麽用?Java ArrayRealVector.dotProduct使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.math3.linear.ArrayRealVector
的用法示例。
在下文中一共展示了ArrayRealVector.dotProduct方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: LWRPredict
import org.apache.commons.math3.linear.ArrayRealVector; //導入方法依賴的package包/類
/**
* LWR prediction
*
* @param X
* @param Y
* @param x0
* @param tau
* @return
*/
public Double LWRPredict(ArrayRealVector X, ArrayRealVector Y,
double x0, final double tau) {
ArrayRealVector X0 = new ArrayRealVector(X.getDimension(), x0);
ArrayRealVector delta = X.subtract(X0);
ArrayRealVector sqDists = delta.ebeMultiply(delta);
UnivariateFunction expTau = new UnivariateFunction() {
@Override
public double value(double arg0) {
//log.info(" cp univariate tau " + tau);
return Math.pow(Math.E, -arg0 / (2*tau));
}
};
ArrayRealVector W = sqDists.map(expTau);
double Xt_W_X = X.dotProduct(W.ebeMultiply(X));
if (Xt_W_X == 0.0) {
log.error(" cp LWR cannot predict - 0 denominator returning NULL");
log.error("Xcv is " + X.toString());
log.error("Ycv is " + Y.toString());
log.error("x0 is " + x0);
return null; // <==== NOTE: a caller must be prepared for it
}
double theta = ( 1.0 / Xt_W_X ) * X.ebeMultiply(W).dotProduct(Y) ;
return theta * x0;
}