setdiag <- function(M, v) { stop("needs translation") # function M = setdiag(M, v) # % SETDIAG Set the diagonal of a matrix to a specified scalar/vector. # % M = set_diag(M, v) # n = length(M); # if length(v)==1 # v = repmat(v, 1, n); # end # % e.g., for 3x3 matrix, elements are numbered # % 1 4 7 # % 2 5 8 # % 3 6 9 # % so diagnoal = [1 5 9] # J = 1:n+1:n^2; # M(J) = v; }