/** C = A||A||..||A; Constructs a new matrix which is concatenated <tt>repeat</tt> times. Example: <pre> 0 1 repeat(3) --> 0 1 0 1 0 1 </pre> */ public ObjectMatrix1D repeat(ObjectMatrix1D A, int repeat) { int size = A.size(); ObjectMatrix1D matrix = make(repeat * size); for (int i=repeat; --i >= 0; ) { matrix.viewPart(size*i,size).assign(A); } return matrix; } /**
/** C = A||A||..||A; Constructs a new matrix which is concatenated <tt>repeat</tt> times. Example: <pre> 0 1 repeat(3) --> 0 1 0 1 0 1 </pre> */ public ObjectMatrix1D repeat(ObjectMatrix1D A, int repeat) { int size = A.size(); ObjectMatrix1D matrix = make(repeat * size); for (int i=repeat; --i >= 0; ) { matrix.viewPart(size*i,size).assign(A); } return matrix; } /**
/** C = A||B; Constructs a new matrix which is the concatenation of two other matrices. Example: <tt>0 1</tt> append <tt>3 4</tt> --> <tt>0 1 3 4</tt>. */ public ObjectMatrix1D append(ObjectMatrix1D A, ObjectMatrix1D B) { // concatenate ObjectMatrix1D matrix = make(A.size()+B.size()); matrix.viewPart(0,A.size()).assign(A); matrix.viewPart(A.size(),B.size()).assign(B); return matrix; } /**
/** C = A||B; Constructs a new matrix which is the concatenation of two other matrices. Example: <tt>0 1</tt> append <tt>3 4</tt> --> <tt>0 1 3 4</tt>. */ public ObjectMatrix1D append(ObjectMatrix1D A, ObjectMatrix1D B) { // concatenate ObjectMatrix1D matrix = make(A.size()+B.size()); matrix.viewPart(0,A.size()).assign(A); matrix.viewPart(A.size(),B.size()).assign(B); return matrix; } /**
if (r>0) titleMatrix.viewRow(0).viewPart(c,columns).assign(columnNames); String[] rowAxisStrings = new String[rowAxisName.length()]; for (int i=rowAxisName.length(); --i >= 0; ) rowAxisStrings[i] = rowAxisName.substring(i,i+1); titleMatrix.viewColumn(0).viewPart(r,rowAxisName.length()).assign(rowAxisStrings); if (rowNames!=null) titleMatrix.viewColumn(c-2).viewPart(r,rows).assign(rowNames); if (c>0) titleMatrix.viewColumn(c-2+1).viewPart(0,rows+r).assign("|");
if (r>0) titleMatrix.viewRow(0).viewPart(c,columns).assign(columnNames); String[] rowAxisStrings = new String[rowAxisName.length()]; for (int i=rowAxisName.length(); --i >= 0; ) rowAxisStrings[i] = rowAxisName.substring(i,i+1); titleMatrix.viewColumn(0).viewPart(r,rowAxisName.length()).assign(rowAxisStrings); if (rowNames!=null) titleMatrix.viewColumn(c-2).viewPart(r,rows).assign(rowNames); if (c>0) titleMatrix.viewColumn(c-2+1).viewPart(0,rows+r).assign("|");
/** Constructs a matrix which is the concatenation of all given parts. Cells are copied. */ public ObjectMatrix1D make(ObjectMatrix1D[] parts) { if (parts.length==0) return make(0); int size = 0; for (int i=0; i < parts.length; i++) size += parts[i].size(); ObjectMatrix1D vector = make(size); size = 0; for (int i=0; i < parts.length; i++) { vector.viewPart(size,parts[i].size()).assign(parts[i]); size += parts[i].size(); } return vector; } /**
/** Constructs a matrix which is the concatenation of all given parts. Cells are copied. */ public ObjectMatrix1D make(ObjectMatrix1D[] parts) { if (parts.length==0) return make(0); int size = 0; for (int i=0; i < parts.length; i++) size += parts[i].size(); ObjectMatrix1D vector = make(size); size = 0; for (int i=0; i < parts.length; i++) { vector.viewPart(size,parts[i].size()).assign(parts[i]); size += parts[i].size(); } return vector; } /**