Taking the cue from Peter, here is the code I wrote to generate a random matrix and a random banded matrix.
$$\NewMatrix{m}{n}$$ produces a matrix of size m by n.
$$\BandMatrix{m}{n}{b}$$produces a matrix of size m by n with bandwidth b.
Code:
\documentclass{article}
\usepackage{amsmath}
\usepackage{forloop}
\usepackage{pgf}
\usepackage{ifthen}
\newcommand{\Rand}{\pgfmathparse{random(10)}\pgfmathresult}%
\newcounter{row_number}
\newcounter{col_number}
\newcounter{band}
\newcommand{\NewMatrix}[2]{%
\begin{bmatrix}
\forloop{row_number}{1}{\value{row_number} < #1}{%%
\forloop{col_number}{1}{\value{col_number} < #2}{%%%
\Rand &
}%%%
\Rand
\\
}%%
\forloop{col_number}{1}{\value{col_number} < #2}{%%%%
\Rand &
}%%%%
\Rand
\end{bmatrix}
}%
\newcommand{\BandMatrix}[3]{%
\begin{bmatrix}
\forloop{row_number}{1}{\value{row_number} < #1}{%%
\forloop{col_number}{1}{\value{col_number} < #2}{%%%
\ifthenelse{\value{col_number} < \numexpr\value{row_number} + #3 + 1 \and \value{col_number} > \numexpr\value{row_number} - #3 - 1}{\Rand &}{0 &}
}%%%
\ifthenelse{\value{col_number} < \numexpr\value{row_number} + #3 + 1 \and \value{col_number} > \numexpr\value{row_number} - #3 - 1}{\Rand \\}{0 \\}
}%%
\forloop{col_number}{1}{\value{col_number} < #2}{%%%%
\ifthenelse{\value{col_number} < \numexpr\value{row_number} + #3 + 1 \and \value{col_number} > \numexpr\value{row_number} - #3 - 1}{\Rand &}{0 &}
}%%%%
\ifthenelse{\value{col_number} < \numexpr\value{row_number} + #3 + 1 \and \value{col_number} > \numexpr\value{row_number} - #3 - 1}{\Rand}{0}
\end{bmatrix}
}%
\begin{document}
$$\NewMatrix{11}{4}$$
$$\BandMatrix{10}{8}{3}$$
\end{document}