Inverse problems form an interdisciplinary field encompassing mathematics, physics and engineering. Applications of inverse problems are diverse and include robotics, optics, non-destructive detection, geophysics, imaging, acoustics, civil and mechanical engineering. The thesis develops methods for finding the inverse of the vector function where the function can be complex without closed form inverse solution, and the inverse can have multiple solutions. First, we find the number of solution for the single input single output case. The method uses classification of solution branches based on inflection points and approximation of the inverse function in various solution branches. Second, we extend the method to cover more general cases, which for example occur in robotics involving nonlinear and discontinuous function involving trigonometric terms. The method uses decomposition of the output space into cells, data generation, clustering, classification of inverse solutions and approximation of the inverse function. The proposed method removes most limitations of the previous work and deals with highly nonlinear and discontinuous functions, and correct classification in case of challenging clusters, as well as ill-conditioned inverse functions. Third, we solve the inverse problem based on the pseudo-inverse of the Jacobian matrix and concepts from feedback control. For each proposed method, a program is developed to implement the method and to demonstrate its validity through examples.