⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmatrix.java

📁 VHDL制作的ann的code
💻 JAVA
字号:
package org.encog.matrix;import junit.framework.TestCase;public class TestMatrix extends TestCase {		public void testRowsAndCols() throws Throwable	{		Matrix matrix = new Matrix(6,3);		TestCase.assertEquals(matrix.getRows(), 6);		TestCase.assertEquals(matrix.getCols(), 3);				matrix.set(1,2, 1.5);		TestCase.assertEquals(matrix.get(1,2), 1.5 );	}		public void testRowAndColRangeUnder() throws Throwable	{		Matrix matrix = new Matrix(6,3);				// make sure set registers error on under-bound row		try {			matrix.set(-1, 0, 1);			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}				// make sure set registers error on under-bound col		try {			matrix.set(0, -1, 1);			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}				// make sure get registers error on under-bound row		try {			matrix.get(-1, 0 );			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}				// make sure set registers error on under-bound col		try {			matrix.get(0, -1 );			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}	}		public void testRowAndColRangeOver() throws Throwable	{		Matrix matrix = new Matrix(6,3);				// make sure set registers error on under-bound row		try {			matrix.set(6, 0, 1);			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}				// make sure set registers error on under-bound col		try {			matrix.set(0, 3, 1);			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}				// make sure get registers error on under-bound row		try {			matrix.get(6, 0 );			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}				// make sure set registers error on under-bound col		try {			matrix.get(0, 3 );			TestCase.assertTrue(false); // should have thrown an exception		}		catch(MatrixError e)		{		}	}		public void testMatrixConstruct() throws Throwable	{		double m[][] = {				{1,2,3,4},				{5,6,7,8},				{9,10,11,12},				{13,14,15,16} };		Matrix matrix = new Matrix(m);		TestCase.assertEquals(matrix.getRows(), 4);		TestCase.assertEquals(matrix.getCols(), 4);	}		public void testMatrixEquals() throws Throwable	{		double m1[][] = {				{1,2},				{3,4} };				double m2[][] = {				{0,2},				{3,4} };				Matrix matrix1 = new Matrix(m1);		Matrix matrix2 = new Matrix(m1);				TestCase.assertTrue(matrix1.equals(matrix2));				matrix2 = new Matrix(m2);				TestCase.assertFalse(matrix1.equals(matrix2));	}		public void testMatrixEqualsPrecision() throws Throwable	{		double m1[][] = {				{1.1234,2.123},				{3.123,4.123} };				double m2[][] = {				{1.123,2.123},				{3.123,4.123} };				Matrix matrix1 = new Matrix(m1);		Matrix matrix2 = new Matrix(m2);				TestCase.assertTrue(matrix1.equals(matrix2,3));		TestCase.assertFalse(matrix1.equals(matrix2,4));				double m3[][] = {				{1.1,2.1},				{3.1,4.1} };				double m4[][] = {				{1.2,2.1},				{3.1,4.1} };				Matrix matrix3 = new Matrix(m3);		Matrix matrix4 = new Matrix(m4);		TestCase.assertTrue(matrix3.equals(matrix4,0));		TestCase.assertFalse(matrix3.equals(matrix4,1));				try		{			matrix3.equals(matrix4,-1);			TestCase.assertTrue( false);		}		catch(MatrixError e)		{					}				try		{			matrix3.equals(matrix4,19);			TestCase.assertTrue( false);		}		catch(MatrixError e)		{					}			}		public void testMatrixMultiply() throws Throwable	{		double a[][] = {				{1,0,2},				{-1,3,1}		};				double b[][] = {				{3,1},				{2,1},				{1,0}		};				double c[][] = {				{5,1},				{4,2}		};				Matrix matrixA = new Matrix(a);		Matrix matrixB = new Matrix(b);		Matrix matrixC = new Matrix(c);				Matrix result = matrixA.clone();		result = MatrixMath.multiply(matrixA,matrixB); 		TestCase.assertTrue(result.equals(matrixC));				double a2[][] = {				{1,2,3,4},				{5,6,7,8}		};				double b2[][] = {				{1,2,3},				{4,5,6},				{7,8,9},				{10,11,12}		};				double c2[][] = {				{70,80,90},				{158,184,210}		};				matrixA = new Matrix(a2);		matrixB = new Matrix(b2);		matrixC = new Matrix(c2);				result = MatrixMath.multiply(matrixA, matrixB);		TestCase.assertTrue(result.equals(matrixC));				result = matrixB.clone();		try		{			MatrixMath.multiply(matrixB,matrixA);			TestCase.assertTrue(false);		}		catch(MatrixError e)		{					}		}		public void testBoolean() throws Throwable	{		boolean matrixDataBoolean[][] = { 				{true,false},				{false,true}		};				double matrixDataDouble[][] = {				{1.0,-1.0},				{-1.0,1.0},		};				Matrix matrixBoolean = new Matrix(matrixDataBoolean);		Matrix matrixDouble = new Matrix(matrixDataDouble);				TestCase.assertTrue(matrixBoolean.equals(matrixDouble));	}		public void testGetRow() throws Throwable	{		double matrixData1[][] = {				{1.0,2.0},				{3.0,4.0}		};		double matrixData2[][] = {				{3.0,4.0}		};				Matrix matrix1 = new Matrix(matrixData1);		Matrix matrix2 = new Matrix(matrixData2);				Matrix matrixRow = matrix1.getRow(1);		TestCase.assertTrue(matrixRow.equals(matrix2));				try		{			matrix1.getRow(3);			TestCase.assertTrue(false);		}		catch(MatrixError e)		{			TestCase.assertTrue(true);		}	}		public void testGetCol() throws Throwable	{		double matrixData1[][] = {				{1.0,2.0},				{3.0,4.0}		};		double matrixData2[][] = {				{2.0},				{4.0}		};				Matrix matrix1 = new Matrix(matrixData1);		Matrix matrix2 = new Matrix(matrixData2);				Matrix matrixCol = matrix1.getCol(1);		TestCase.assertTrue(matrixCol.equals(matrix2));				try		{			matrix1.getCol(3);			TestCase.assertTrue(false);		}		catch(MatrixError e)		{			TestCase.assertTrue(true);		}	}		public void testZero() throws Throwable	{		double doubleData[][] = { {0,0}, {0,0} };		Matrix matrix = new Matrix(doubleData);		TestCase.assertTrue(matrix.isZero());	}		public void testSum() throws Throwable	{		double doubleData[][] = { {1,2}, {3,4} };		Matrix matrix = new Matrix(doubleData);		TestCase.assertEquals((int)matrix.sum(), 1+2+3+4);	}		public void testRowMatrix() throws Throwable	{		double matrixData[] = {1.0,2.0,3.0,4.0};		Matrix matrix = Matrix.createRowMatrix(matrixData);		TestCase.assertEquals(matrix.get(0,0), 1.0);		TestCase.assertEquals(matrix.get(0,1), 2.0);		TestCase.assertEquals(matrix.get(0,2), 3.0);		TestCase.assertEquals(matrix.get(0,3), 4.0);	}		public void testColumnMatrix() throws Throwable	{		double matrixData[] = {1.0,2.0,3.0,4.0};		Matrix matrix = Matrix.createColumnMatrix(matrixData);		TestCase.assertEquals(matrix.get(0,0), 1.0);		TestCase.assertEquals(matrix.get(1,0), 2.0);		TestCase.assertEquals(matrix.get(2,0), 3.0);		TestCase.assertEquals(matrix.get(3,0), 4.0);	}		public void testAdd() throws Throwable	{		double matrixData[] = {1.0,2.0,3.0,4.0};		Matrix matrix = Matrix.createColumnMatrix(matrixData);		matrix.add(0, 0, 1);		TestCase.assertEquals(matrix.get(0, 0), 2.0);	}		public void testClear() throws Throwable	{		double matrixData[] = {1.0,2.0,3.0,4.0};		Matrix matrix = Matrix.createColumnMatrix(matrixData);		matrix.clear();		TestCase.assertEquals(matrix.get(0, 0), 0.0);		TestCase.assertEquals(matrix.get(1, 0), 0.0);		TestCase.assertEquals(matrix.get(2, 0), 0.0);		TestCase.assertEquals(matrix.get(3, 0), 0.0);	}		public void testIsVector() throws Throwable	{		double matrixData[] = {1.0,2.0,3.0,4.0};		Matrix matrixCol = Matrix.createColumnMatrix(matrixData);		Matrix matrixRow = Matrix.createRowMatrix(matrixData);		TestCase.assertTrue(matrixCol.isVector());		TestCase.assertTrue(matrixRow.isVector());		double matrixData2[][] = {{1.0,2.0},{3.0,4.0}};		Matrix matrix = new Matrix(matrixData2);		TestCase.assertFalse(matrix.isVector());	}		public void testIsZero() throws Throwable	{		double matrixData[] = {1.0,2.0,3.0,4.0};		Matrix matrix = Matrix.createColumnMatrix(matrixData);		TestCase.assertFalse(matrix.isZero());		double matrixData2[] = {0.0,0.0,0.0,0.0};		Matrix matrix2 = Matrix.createColumnMatrix(matrixData2);		TestCase.assertTrue(matrix2.isZero());	}		public void testPackedArray() throws Throwable	{		double matrixData[][] = {{1.0,2.0},{3.0,4.0}};		Matrix matrix = new Matrix(matrixData);		Double matrixData2[] = matrix.toPackedArray();		TestCase.assertEquals(4, matrixData2.length);		TestCase.assertEquals(1.0,matrix.get(0, 0));		TestCase.assertEquals(2.0,matrix.get(0, 1));		TestCase.assertEquals(3.0,matrix.get(1, 0));		TestCase.assertEquals(4.0,matrix.get(1, 1));				Matrix matrix2 = new Matrix(2,2);		matrix2.fromPackedArray(matrixData2, 0);		TestCase.assertTrue(matrix.equals(matrix2));	}		public void testPackedArray2() throws Throwable	{		Double data[] = {1.0,2.0,3.0,4.0};		Matrix matrix = new Matrix(1,4);		matrix.fromPackedArray(data, 0);		TestCase.assertEquals(1.0, matrix.get(0, 0));		TestCase.assertEquals(2.0, matrix.get(0, 1));		TestCase.assertEquals(3.0, matrix.get(0, 2));	}		public void testSize() throws Throwable	{		double data[][] = {{1.0,2.0},{3.0,4.0}};		Matrix matrix = new Matrix(data);		TestCase.assertEquals(4, matrix.size());	}		public void testRandomize() throws Throwable	{		final double MIN = 1.0;		final double MAX = 10.0;		Matrix matrix = new Matrix(10,10);		matrix.ramdomize(MIN,MAX);		Double array[] = matrix.toPackedArray();		for(int i=0;i<array.length;i++)		{			if( array[i]<MIN || array[i]>MAX )				TestCase.assertFalse(true);		}	}		public void testVectorLength() throws Throwable	{		double vectorData[] = {1.0,2.0,3.0,4.0};		Matrix vector = Matrix.createRowMatrix(vectorData);		TestCase.assertEquals(5, (int)MatrixMath.vectorLength(vector));				Matrix nonVector = new Matrix(2,2);		try		{			MatrixMath.vectorLength(nonVector);			TestCase.assertTrue(false);		}		catch(MatrixError e)		{					}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -