Complex dynamical systems often exhibit formation of a pattern in observed variables in the steady state. These patterns can range from the synchronization of multiple agents to the coordinated oscillation of the observed variables. The research in this dissertation formulates a general pattern formation problem as the design of a feedback controller such that selected outputs of a linear plant exponentially converge to Re^(L t)n for some vector n with prescribed matrices R and L. We show that the problem reduces equivalently to an eigenstructure assignment problem, and provide a necessary and sufficient condition for existence of a feasible controller as well as a parameterization of all such controllers. An important special case is when the system consists of multiple subsystems (or "agents") subjected to local interactions to reach consensus or an arbitrary pattern specified by their relative positioning in the state space. This general theory is further specialized to give a complete solution to a heterogeneous multi-agent synchronization problem. Three numerical examples are provided to demonstrate the efficacy of the proposed design method: the first emphasizes the importance of the desired pattern in reducing the complexity of the controller, the second illustrates the significance of adaptive pattern formation through sensory feedback, and the third suggests an extension for achieving stable limit cycles by additional nonlinearities. The theory for controller design to achieve stable limit cycles is further explored with the consideration of the nonlinear central pattern generator (CPG)-based controller. Through a linear approximation of
the CPG-based controller using a describing function, it is shown that the limit cycle design reduces to an eigenstructure assignment problem. Two examples are provided which demonstrate the application of this theory in limit cycle design: one in which a single limit cycle is designed using the eigenstructure assignment method for a three link mechanical arm and a second in which a single CPG-based controller is designed to achieve different limit cycles for two different plants in order to replicate the gait change of a leech moving in different fluid environments.