Java 在特定列和行的OjAlgo中的Primitive64Store中插入Access2D元素
是否可以在OjAlgo的Primitive64存储中插入Access2D元素Java 在特定列和行的OjAlgo中的Primitive64Store中插入Access2D元素,java,ojalgo,Java,Ojalgo,是否可以在OjAlgo的Primitive64存储中插入Access2D元素 Access2D<Double> data = Access2D.wrap(mu.toRawCopy2D()); Primitive64Store B = Primitive64Store.FACTORY.make(rows * m, columns * n); Access2D data=Access2D.wrap(mu.toRawCopy2D()); Primitive64Store
Access2D<Double> data = Access2D.wrap(mu.toRawCopy2D());
Primitive64Store B = Primitive64Store.FACTORY.make(rows * m, columns * n);
Access2D data=Access2D.wrap(mu.toRawCopy2D());
Primitive64Store B=Primitive64Store.FACTORY.make(行*m,列*n);
我想在B中的特定起始行和起始列插入数据
暂时。我已执行如下程序:
public class Repmat {
static public MatrixStore<Double> repmat(MatrixStore<Double> mu, int m, int n) {
long rows = mu.countRows();
long columns = mu.countColumns();
double[][] data = mu.toRawCopy2D();
Primitive64Store B = Primitive64Store.FACTORY.make(rows * m, columns * n);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
for(int k = 0; k < rows; k++) {
B.fillRow(i * rows + k, j * columns, Access1D.wrap(data[k])); // Get row from data and place it into B
}
}
}
return B.get();
}
}
static public MatrixStore<Double> repmat(MatrixStore<Double> mu, int m, int n) {
LogicalBuilder<Double> builder = mu.logical();
for (int i = 1; i < m; i++) {
builder.below(mu);
}
MatrixStore<Double> firstCol = builder.get();
for (int j = 1; j < n; j++) {
builder.right(firstCol);
}
return builder.get();
}
公共类Repmat{
静态公共矩阵存储repmat(矩阵存储mu、int m、int n){
长行=mu.countRows();
长列=mu.countColumns();
double[]data=mu.toRawCopy2D();
Primitive64Store B=Primitive64Store.FACTORY.make(行*m,列*n);
for(int i=0;i
但这一定是一种更好的方法吗?也许是这样的:
public class Repmat {
static public MatrixStore<Double> repmat(MatrixStore<Double> mu, int m, int n) {
long rows = mu.countRows();
long columns = mu.countColumns();
double[][] data = mu.toRawCopy2D();
Primitive64Store B = Primitive64Store.FACTORY.make(rows * m, columns * n);
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
for(int k = 0; k < rows; k++) {
B.fillRow(i * rows + k, j * columns, Access1D.wrap(data[k])); // Get row from data and place it into B
}
}
}
return B.get();
}
}
static public MatrixStore<Double> repmat(MatrixStore<Double> mu, int m, int n) {
LogicalBuilder<Double> builder = mu.logical();
for (int i = 1; i < m; i++) {
builder.below(mu);
}
MatrixStore<Double> firstCol = builder.get();
for (int j = 1; j < n; j++) {
builder.right(firstCol);
}
return builder.get();
}
静态公共矩阵存储repmat(矩阵存储mu,int m,int n){
LogicalBuilder=mu.logical();
对于(int i=1;i