Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo usar matlab para ajustar funciones multivariadas no lineales

Cómo usar matlab para ajustar funciones multivariadas no lineales

caja de herramientas de ajuste de matlab cftool

% ajusta la curva de datos; el método de mínimos cuadrados lineales es el método más utilizado para resolver el ajuste de curvas,

%1, función de ajuste polinómico; x,y,n); encuentre el valor aproximado de la función de ajuste p en xi pi=polyval(p,xi);

%2. Utilice la división matricial ordinaria para resolver el ajuste de funciones complejas;

%3. Utilice la función lsqcurvefit y la función lsqnonlin para ajustar;

%4. Utilice el kit de herramientas cftool para personalizar la función escrita y luego exportarla en forma de archivo M

/doku.matlab:mt1-5

/zzz700/blog/item/f313a3f5869659b5a40f52d7.html Referencia en inglés

Ajuste de curva univariada

Matlab tiene un potente paquete de herramientas de ajuste de curvas, cftool, que es fácil de usar y puede realizar varios tipos de ajuste de curvas lineales y no lineales. Aquí hay una breve introducción sobre cómo utilizar este kit de herramientas en Matlab R2007b.

Supongamos que queremos ajustar una función de la forma y = A * x * x + B * x, con A >

1. Ingrese datos en la línea de comando:

" "y=[ 5 10 15 20 25 30 35 40 45 50];

2. la caja de herramientas de ajuste de curvas

"cftool

3. Ingrese a la interfaz del cuadro de herramientas de ajuste de curvas "Herramienta de ajuste de curvas"

(1) Haga clic en el botón "Datos" para que aparezca la ventana "Datos";

(2) Lea los datos y use datos X e Y. Lea los datos x e y en el menú desplegable. Puede modificar el nombre del conjunto de datos ". Nombre del conjunto de datos", luego haga clic en el botón "Crear conjunto de datos" para salir de la ventana "Datos" y regresar a la interfaz de la caja de herramientas. En este momento, la curva del conjunto de datos se dibujará automáticamente. ;

(3) Haga clic en el botón "Ajuste" para que aparezca la ventana "Ajuste"

(4) Haga clic en el botón "Ajuste" para que aparezca la ventana "Ajuste";

(5) Haga clic en el botón "Ajuste" para que aparezca la ventana "Ajuste".

p>(4) Haga clic en el botón "Nuevo ajuste" para modificar el nombre del proyecto de ajuste "Nombre de ajuste" y seleccione el conjunto de datos a través del menú desplegable "Conjunto de datos";

(5) Haga clic Botón "Ajustar" " para abrir la ventana "Ajustar";

(6) Haga clic en el botón "Ajustar" para abrir la ventana "Ajustar": aproximación de Fourier, hay 7 tipos, la base es a0 + a1*cos( x*w) + b1*sin(x*w)

Gaussiano: aproximación gaussiana, hay 8 tipos, la base es a1*exp(-((x-) / b1)/c1).b1 )/c1)^2)

Método de interpolación: aproximación del método de interpolación, hay 4 tipos, lineal, vecino más cercano, spline cúbico, conforme

Polinomio : aproximación polinómica, hay 9 tipos, lineal~, cuadrática~, cúbica~, 4-9 grados~

Serie de potencias: Aproximación de series de potencias, hay 2 tipos, a*x^b, a* x ^b + c

Números racionales: Números racionales: Aproximaciones de números racionales El numerador y el denominador*** tienen tipos lineales~, cuadráticos~, cúbicos~, de 4-5 grados~ y otros tipos; , el numerador también incluye tipo constante

Spline suave: aproximación suave (la traducción no es apropiada, lo siento)

Suma de función sinusoidal: aproximación sinusoidal, hay 8 tipos, el tipo básico es a1*sin( b1*x + c1)

Weibull: solo hay un tipo, a*b*x^(b-1)*exp(-a*x^b)

Seleccione todo el tipo de curva de ajuste requerido y sus subtipos, y realice las configuraciones relevantes:

--Si es un tipo no personalizado, puede hacer clic en el botón "Opciones de ajuste" para configurar el algoritmo de ajuste y modifique la estimación que se realizará de acuerdo con las necesidades reales, como los límites superior e inferior de los parámetros;

--Si elige una ecuación personalizada, haga clic en el botón "Nuevo" para que aparezca la ecuación. ventana de ecuación personalizada, que tiene dos pestañas: "Ecuación lineal" y "Ecuación general".

En este ejemplo, seleccione la ecuación personalizada, haga clic en el botón "Nuevo", seleccione la pestaña "Ecuación general", ingrese el tipo de función y = a * x * x + b * x y configure los parámetros Límites superior e inferior para ayby ​​haga clic en Aceptar.

(5) Después de completar la configuración del tipo, haga clic en el botón "Aplicar" para obtener los resultados de ajuste en el cuadro de resultados, como se muestra en el siguiente ejemplo:

Modelo general:

f(x) = a*x *x+b*x

Coeficientes (con límites de confianza del 95%):

a = 0,009194 (0,009019, 0,00937 )

p>

b = 1.78e-011 (fijo en el límite)

Bondad de ajuste:

SSE: 6.146

R cuadrado: 0,997

R cuadrado ajustado: 0,997

RMSE: 0,8263

Al mismo tiempo, la curva de ajuste también se muestra en la ventana de la caja de herramientas.

De esta forma se completa el ajuste de la curva, lo cual es muy conveniente. Por supuesto, si cree que el efecto de ajuste no es bueno, también puede hacer clic en el botón "Nuevo ajuste" en la ventana "Ajuste" y luego seguir los pasos (4) ~ (5) para volver a colocarlo.

Sin embargo, cabe señalar que cftool solo puede ajustar la curva de una única variable, es decir, solo puede haber una variable en la ecuación a ajustar. Para curvas mixtas, como y = a*x + b/x, el conjunto de herramientas no encaja bien. En el próximo artículo, presentaré el ajuste de curvas de funciones no lineales que ayudé a mis compañeros a completar.

La caja de herramientas cftool se presenta en detalle arriba, pero no hay comentarios sobre el rendimiento de varios ajustes de curvas. En el ajuste de curvas univariadas, cómo elegir un ajuste óptimo es muy importante cuando usamos CFTOOL para ajustar. , habrá algunas instrucciones de rendimiento, tales como:

Bondad de ajuste:

SSE: 6.146

R- cuadrado: 0.997

R-cuadrado ajustado: 0,997

RMSE: 0,8263

Explicación oficial:

Resultados: muestra el ajuste actual Resultados detallados para, incluido el tipo de ajuste (modelo , spline o interpolación), límites de confianza del 95 % para coeficientes de ajuste y ajustes de parámetros, y estas estadísticas de bondad de ajuste:

SSE: suma de cuadrados debido a errores. Esta estadística mide la desviación de la respuesta del valor ajustado de la respuesta. Esta estadística mide la desviación de la respuesta del valor ajustado de la respuesta.

R-cuadrado: el coeficiente de determinación multivariado mide el éxito del ajuste para explicar los cambios en los datos.

R-cuadrado ajustado: R-cuadrado después del ajuste de grados de libertad. Cuanto más cerca esté el valor de 1, mejor será el efecto de ajuste. A menudo es el mejor indicador de la calidad del ajuste cuando se agregan coeficientes adicionales a los datos.

RMSE -- Raíz del error cuadrático medio. Cuanto más cerca esté el valor de 0, mejor será el ajuste.

Ajuste e interpolación de superficies de Matlab 62173403201121095512602/?fromdm&fromSearch&isFromSearchEngine=yes

Ajuste de curvas de Matlab

/blog/static/ 30247003201153083539419/?fromdm&fromSearch&isFromSearchEngine=yes

Función de ajuste polinomial polyfit en código fuente C

/blog/static/ 30247003201010251055758/

Ajuste de función binaria matlab;

/question/ 141374449.html ?fr=qrl&cid=93&index=2

Ajuste no lineal 1 de matlab (función exponencial)

/share/detail/43922314