A technique used to analyze the structure and dynamics of molecules, such as proteins or nucleic acids, in solution.