當前位置: 首頁>>代碼示例>>Java>>正文


Java RealMatrix.operate方法代碼示例

本文整理匯總了Java中org.apache.commons.math3.linear.RealMatrix.operate方法的典型用法代碼示例。如果您正苦於以下問題:Java RealMatrix.operate方法的具體用法?Java RealMatrix.operate怎麽用?Java RealMatrix.operate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.commons.math3.linear.RealMatrix的用法示例。


在下文中一共展示了RealMatrix.operate方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: main

import org.apache.commons.math3.linear.RealMatrix; //導入方法依賴的package包/類
public static void main(String[] args) {
	int NDIGITS = 1;
	
	double scale = 3.5;
	System.out.println("original scale = " + scale);
	
	double alpha = 0.6;
	double[][] R0data =
		{{ Math.cos(alpha), -Math.sin(alpha) },
		 { Math.sin(alpha),  Math.cos(alpha) }};
	
	RealMatrix R0 = MatrixUtils.createRealMatrix(R0data);
	System.out.println("original R = \n" + Matrix.toString(R0.getData()));
	
	double[] t0 = {4, -3};
	System.out.println("original t = " + Matrix.toString(t0));
	
	List<double[]> X = new ArrayList<double[]>();
	List<double[]> Y = new ArrayList<double[]>();
	
	X.add(new double[] {2, 5});
	X.add(new double[] {7, 3});
	X.add(new double[] {0, 9});
	X.add(new double[] {5, 4});
	
	for (double[] a : X) {
		double[] b = R0.operate(a);
		b[0] = roundToDigits(scale * b[0] + t0[0], NDIGITS);
		b[1] = roundToDigits(scale * b[1] + t0[1], NDIGITS);
		Y.add(b);
	}

	boolean allowTranslation = true;
	boolean allowScaling = true;
	boolean forceRotation = true;
	ProcrustesFit pf = new ProcrustesFit(allowTranslation, allowScaling, forceRotation);
	pf.fit(X, Y);

	System.out.println("R = \n" + Matrix.toString(pf.getR().getData()));
	System.out.println("t = " + Matrix.toString(pf.getT().toArray()));
	System.out.format("c = %.3f\n", pf.getScale());
	System.out.format("err1 = %.3f\n", pf.getError());
	
	RealMatrix M = pf.getTransformationMatrix();
	System.out.println("M = \n" + Matrix.toString(M.getData()));
}
 
開發者ID:imagingbook,項目名稱:imagingbook-common,代碼行數:47,代碼來源:ProcrustesFit.java


注:本文中的org.apache.commons.math3.linear.RealMatrix.operate方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。