Structural identifiability
In the area of system identification, a dynamical system is structurally identifiable if it is possible to infer its unknown parameters by measuring its output over time. This problem arises in many branch of applied mathematics, since dynamical systems (such as the ones described by ordinary differential equations) are commonly utilized to model physical processes and these models contain unknown parameters that are typically estimated using experimental data. However, in certain cases, the model structure may not permit a unique solution for this estimation problem, even when the data is continuous and free from noise. To avoid potential issues, it is recommended to verify the uniqueness of the solution in advance, prior to conducting any actual experiments. The lack of structural identifiability implies that there are multiple solutions for the problem of system identification, and the impossibility of distinguishing between these solutions suggests that the system has poor forecasting power as a model. On the other hand, control systems have been proposed with the goal of rendering the closed-loop system unidentifiable, decrease its susceptibility to covert attacks targeting cyber-physical systems. Examples

Linear time-invariant system 

Consider a linear time-invariant system with the following state-space representation:

and with initial conditions given by  and . The solution of the output  is

which implies that the parameters  and  are not structurally identifiable. For instance, the parameters  generates the same output as the parameters . Non-linear system 

A model of a possible glucose homeostasis mechanism is given by the differential equations

where (c, si, p, α, γ) are parameters of the system, and the states are the plasma glucose concentration G, the plasma insulin concentration I, and the beta-cell functional mass β. It is possible to show that the parameters p and si are not structurally identifiable: any numerical choice of parameters p and si that have the same product psi are indistinguishable. Practical identifiability 
Structural identifiability is assessed by analyzing the dynamical equations of the system, and does not take into account possible noises in the measurement of the output. In contrast, practical non-identifiability also takes noises into account. Other related notions 
The notion of structurally identifiable is closely related to observability, which refers to the capacity of inferring the state of the system by measuring the trajectories of the system output. It is also closely related to data informativity, which refers to the proper selection of inputs that enables the inference of the unknown parameters. The (lack of) structural identifiability is also important in the context of dynamical compensation of physiological control systems. These systems should ensure a precise dynamical response despite variations in certain parameters. In other words, while in the field of systems identification, unidentifiability is considered a negative property, in the context of dynamical compensation, unidentifiability becomes a desirable property. Software 
There exist many software that can be used for analyzing the identifiability of a system, including non-linear systems:
 PottersWheel: MATLAB toolbox that uses profile likelihood for structural and practical identifiability analysis. Julia library for assessing structural parameter identifiability. STRIKE-GOLDD: MATLAB toolbox for structural identifiability analysis. See also 
 System identification
 Observability
 Model order reduction
 Adaptive control

References 

Numerical analysis
Interpolation