Contenuto principale

Minimi quadrati non lineari (adattamento di curve)

Risolvere problemi di minimi quadrati non lineari (adattamento di curve) in modalità seriale o parallela

Il metodo dei minimi quadrati consiste nel risolvere il problema min(∑||F(xi) – yi||2), dove F(xi) è una funzione non lineare e yi rappresenta i dati. Il problema può presentare limiti, vincoli lineari o vincoli non lineari. Questi problemi derivano dall'adattamento di curve ai dati sperimentali, dalla stima dei parametri dei modelli fisici e da altri fattori.

Prima di iniziare a risolvere un problema di ottimizzazione, è necessario scegliere l'approccio appropriato: basato sui problemi o basato sul risolutore. Per i dettagli, vedere Scelta iniziale sull'adozione dell'approccio basato sui problemi o sul risolutore.

Per l'approccio basato sui problemi, creare delle variabili del problema, quindi esprimere la funzione obiettivo e i vincoli in termini di tali variabili simboliche. Per formulare un problema dei minimi quadrati, seguire le istruzioni riportate in Write Objective Function for Problem-Based Least Squares. Per i passaggi da seguire per l'approccio basato sui problemi, vedere Problem-Based Optimization Workflow. Per risolvere il problema risultante, utilizzare solve.

Per i passaggi da seguire per l'approccio basato sul risolutore, inclusa la definizione della funzione obiettivo e dei vincoli e la scelta del risolutore appropriato, vedere Impostazione di un problema di ottimizzazione basato sul risolutore. Per risolvere il problema risultante, utilizzare lsqcurvefit o lsqnonlin.

Funzioni

espandi tutto

evaluateEvaluate optimization expression or objectives and constraints in problem
infeasibilityConstraint violation at a point
optimproblemCreate optimization problem
optimvarCreate optimization variables
solveSolve optimization problem or equation problem
lsqcurvefitSolve nonlinear curve-fitting (data-fitting) problems in least-squares sense
lsqnonlinSolve nonlinear least-squares (nonlinear data-fitting) problems
checkGradientsCheck first derivative function against finite-difference approximation (Da R2023b)
optim.coder.infboundInfinite bound support for code generation (Da R2022b)

Attività di Live Editor

OptimizeOttimizzare o risolvere equazioni in Live Editor

App

Optimization ExplorerExplore multiple solver configurations and their solutions for an optimization problem (Da R2026a)

Argomenti

Minimi quadrati non lineari basati sui problemi

Minimi quadrati non lineari basati sul risolutore

Generazione di codice

Calcolo parallelo

Algoritmi e opzioni