Mínimos cuadrados no lineales (ajuste de curvas)
Antes de comenzar a resolver un problema de optimización, deberá elegir el enfoque adecuado: basado en problemas o basado en solvers. Para obtener más detalles, consulte En primer lugar, elija el enfoque basado en problemas o el enfoque basado en solvers.
Los mínimos cuadrados no lineales resuelven min(∑||F(xi) – yi||2), donde F(xi) es una función no lineal e yi son datos. El problema puede tener límites, restricciones lineales o restricciones no lineales.
Para el enfoque basado en problemas, cree variables de problemas y, posteriormente, represente la función objetivo y las restricciones en términos de estas variables simbólicas. Para saber qué pasos basados en problemas se deben tomar, consulte Flujo de trabajo de optimización basada en problemas. Para resolver el problema resultante, utilice solve
.
Para saber qué pasos basados en solvers se deben tomar, incluyendo la definición de la función objetivo y las restricciones, y la selección del solver adecuado, consulte Configuración de problema de optimización basada en solvers. Para resolver el problema resultante, utilice lsqcurvefit
o lsqnonlin
.
Funciones
Tareas de Live Editor
Optimize | Optimizar o resolver ecuaciones en Live Editor (desde R2020b) |
Temas
Mínimos cuadrados no lineales basados en problemas
- Mínimos cuadrados no lineales, basado en problemas
Ejemplo básico de mínimos cuadrados no lineales utilizando el enfoque basado en problemas. - Ajuste de datos no lineales empleando varios enfoques basados en problemas
Resuelva un problema de ajuste de mínimos cuadrados utilizando solvers y enfoques diferentes para los parámetros lineales. - Ajuste de parámetros EDO mediante variables de optimización
Ajuste de los parámetros de una EDO mediante mínimos cuadrados basados en problemas. - Compare lsqnonlin and fmincon for Constrained Nonlinear Least Squares
Compare the performance oflsqnonlin
andfmincon
on a nonlinear least-squares problem with nonlinear constraints. - Write Objective Function for Problem-Based Least Squares
Syntax rules for problem-based least squares.
Mínimos cuadrados no lineales basados en solvers
- Ajuste de datos no lineales
Ejemplo básico que muestra varias formas de resolver un problema de ajuste de datos. - Minimización de la función banana
Muestra cómo resolver el mínimo de la función de Rosenbrock utilizando diferentes solvers, con o sin gradientes. - lsqnonlin with a Simulink Model
Example of fitting a simulated model. - Mínimos cuadrados no lineales, sin y con matrices jacobianas
Ejemplo que muestra el uso de derivadas analíticas en mínimos cuadrados no lineales. - Ajuste no lineal de curvas con lsqcurvefit
Ejemplo de cómo ajustar datos no lineales con lsqcurvefit. - Ajustar una ecuación diferencial ordinaria (ODE)
Ejemplo que muestra cómo ajustar parámetros de una ODE a datos o cómo ajustar parámetros de una curva a la solución de una ODE. - Ajustar un modelo a datos de valores complejos
Ejemplo que muestra cómo resolver un problema de mínimos cuadrados no lineales con datos de valores complejos.
Generación de código
- Generación de código en mínimos cuadrados no lineales: contexto
Requisitos previos para generar código C para mínimos cuadrados no lineales. - Generate Code for lsqcurvefit or lsqnonlin
Example of code generation for nonlinear least squares. - Optimization Code Generation for Real-Time Applications
Explore techniques for handling real-time requirements in generated code.
Computación paralela
- What Is Parallel Computing in Optimization Toolbox?
Use multiple processors for optimization. - Usar la computación paralela en Optimization Toolbox
Lleve a cabo una estimación de gradientes en paralelo. - Improving Performance with Parallel Computing
Investigate factors for speeding optimizations.
Algoritmos y opciones
- Write Objective Function for Problem-Based Least Squares
Syntax rules for problem-based least squares. - Algoritmos de mínimos cuadrados (ajuste de modelos)
Minimice una suma de cuadrados en n dimensiones con solo restricciones de límite o lineales. - Referencia de opciones de optimización
Explore opciones de optimización.