¿Cómo utilizar el software MATLAB para simular modelos de curvas no lineales? Por ejemplo, para simular la curva de Richards, encuentre los parámetros y el valor de R cuadrado (grado de ajuste).
Dado que la ecuación de la curva de Richards es una función no lineal, se utiliza la función lsqcurvefit() para ajustarla. Los pasos de ajuste son los siguientes:
t=[0 7 14 21 28];
y=[0.2480 0.7677 1.4190 1.5782 1.6712];
func= inline( 'a(1)./(1+a(2).*exp(-a(3).*t).^a(4))','a','t');
b=[0.95717 ?0.48538 ?0.80028 ?0.14189];?
a=lsqcurvefit(func,b,t,y);
disp(['Coeficiente A :' ,num2str(a(1))])
disp(['Coeficiente B:',num2str(a(2))])
disp(['Coeficiente k :' ,num2str(a(3))])
disp(['Coeficiente N:',num2str(a(4))])
t1=0:0.5: 28;
y1=func(a,t1);
plot(t,y,'ro',t1,y1,'p-','LineWidth',2) ,grid on,xlabel('número de días'),ylabel('peso')
legend('datos antes del ajuste', 'datos después del ajuste')
Gráfico de salida