#' @title Matrix of zeros or ones #' @description Generates a square or rectangular matrix of zeros or ones #' @param n scalar or 2D vector #' @param x value to fill matrix with #' @return n-by-n matrix filled with `x` #' @details This is a wrapper function to replicate the behavior of the #' `zeros()` and the `ones()` functions on Matlab #' @note Actually works for any `x`, but there's no need to bother imposing #' validation controls here. zeros_or_ones <- function(n, x) { if (length(n) == 1) n <- c(n, n) return(matrix(x, n[1], n[2])) } #' @title Matrix of zeros #' @description wrapper of `zeros_or_ones()` that replicates the behavior of #' the `zeros()` function on Matlab #' @param n1 number of rows #' @param n2 number of columns zeros <- function(n1, n2 = n1) { return(zeros_or_ones(c(n1, n2), 0)) } #' @title Matrix of ones #' @description wrapper of `zeros_or_ones()` that replicates the behavior of #' the `ones()` function on Matlab #' @param n1 number of rows #' @param n2 number of columns ones <- function(n1, n2 = n1) { return(zeros_or_ones(c(n1, n2), 1)) }