神经网络算法java代码_JAVA实现BP神经网络算法

packagecom.top.matrix;importcom.top.constants.OrderEnum;importjava.io.Serializable;public class Matrix implementsSerializable {private double[][] matrix;//矩阵列数

private intmatrixColCount;//矩阵行数

private intmatrixRowCount;/*** 构造一个空矩阵*/

publicMatrix() {this.matrix = null;this.matrixColCount = 0;this.matrixRowCount = 0;

}/*** 构造一个matrix矩阵

*@parammatrix*/

public Matrix(double[][] matrix) {this.matrix =matrix;this.matrixRowCount =matrix.length;this.matrixColCount = matrix[0].length;

}/*** 构造一个rowCount行colCount列值为0的矩阵

*@paramrowCount

*@paramcolCount*/

public Matrix(int rowCount,intcolCount) {double[][] matrix = new double[rowCount][colCount];for (int i = 0; i < rowCount; i++) {for (int j = 0; j < colCount; j++) {

matrix[i][j]= 0;

}

}this.matrix =matrix;this.matrixRowCount =rowCount;this.matrixColCount =colCount;

}/*** 构造一个rowCount行colCount列值为val的矩阵

*@paramval

*@paramrowCount

*@paramcolCount*/

public Matrix(double val,int rowCount,intcolCount) {double[][] matrix = new double[rowCount][colCount];for (int i = 0; i < rowCount; i++) {for (int j = 0; j < colCount; j++) {

matrix[i][j]=val;

}

}this.matrix =matrix;this.matrixRowCount =rowCount;this.matrixColCount =colCount;

}public double[][] getMatrix() {returnmatrix;

}public void setMatrix(double[][] matrix) {this.matrix =matrix;this.matrixRowCount =matrix.length;this.matrixColCount = matrix[0].length;

}public intgetMatrixColCount() {returnmatrixColCount;

}public intgetMatrixRowCount() {returnmatrixRowCount;

}/*** 获取矩阵指定位置的值

*

*@paramx

*@paramy

*@return

*/

public double getValOfIdx(int x, int y) throwsIllegalArgumentException {if (matrix == null) {throw new IllegalArgumentException("矩阵为空");

}if (x > matrixRowCount - 1) {throw new IllegalArgumentException("索引x越界");

}if (y > matrixColCount - 1) {throw new IllegalArgumentException("索引y越界");

}returnmatrix[x][y];

}/*** 获取矩阵指定行

*

*@paramx

*@return

*/

public Matrix getRowOfIdx(int x) throwsIllegalArgumentException {if (matrix == null) {throw new IllegalArgumentException("矩阵为空");

}if (x > matrixRowCount - 1) {throw new IllegalArgumentException("索引x越界");

}double[][] result = new double[1][matrixColCount];

result[0] =matrix[x];return newMatrix(result);

}/*** 获取矩阵指定列

*

*@paramy

*@return

*/

public Matrix getColOfIdx(int y) throwsIllegalArgumentException {if (matrix == null) {throw new IllegalArgumentException("矩阵为空");

}if (y > matrixColCount - 1) {throw new IllegalArgumentException("索引y越界");

}double[][] result = new double[matrixRowCount][1];for (int i = 0; i < matrixRowCount; i++) {

result[i][0] =matrix[i][y];

}return newMatrix(result);

}/*** 设置矩阵中x,y位置元素的值

*@paramx

*@paramy

*@paramval*/

public void setValue(int x, int y, doubleval) {if (x > thi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值