Red de conocimiento informático - Aprendizaje de código fuente - Método de mínimos cuadrados para ajustar funciones exponenciales (programación en Matlab), ansioso, ¡por favor dame un consejo!

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>

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.