Método de mínimos cuadrados para ajustar funciones exponenciales (programación en Matlab), ansioso, ¡por favor dame un consejo!
clc;
borrar todo;
y=[50 40 30 20 10]; x=[55 63 73 100 121];
a=[145.2345667367 -0.02061401470466]; establecer el valor inicial es muy importante.
f=@(a,x)a(1)*exp(-a(2)*x);
nlinfit(x,y,f,a) p> p>
Puede usar la función de ajuste en la caja de herramientas para determinar el valor inicial:
(Ingrese primero los valores x, y en la ventana)
Ingrese cftool en la ventana de comando, y luego datos Seleccione los valores xey dentro. crear conjunto de datos.
Seleccione un nuevo ajuste en Ajuste, seleccione exponencial en el tipo de ajuste y haga clic en Aplicar.
Puedes ver los valores de a y b en el resultado. (Hay diferentes combinaciones)
Luego hace clic en Archivo, Generar archivo M.
Abra el archivo M que generó y st_ en él es el valor inicial establecido por matlab.
Espero que esto ayude.