Diferenciar e integrar un ajuste
Este ejemplo muestra cómo encontrar la primera y segunda derivadas de un ajuste y la integral del ajuste, en los valores predictores.
Cree una señal sinusoidal de referencia:
xdata = (0:.1:2*pi)'; y0 = sin(xdata);
Añada ruido a la señal:
noise = 2*y0.*randn(size(y0)); % Response-dependent noise
ydata = y0 + noise;
Ajuste los datos ruidosos con un modelo sinusoidal personalizado:
f = fittype('a*sin(b*x)'); fit1 = fit(xdata,ydata,f,'StartPoint',[1 1]);
Encuentre las derivadas del ajuste en los valores predictores:
[d1,d2] = differentiate(fit1,xdata);
Represente los datos, el ajuste y las derivadas:
subplot(3,1,1) plot(fit1,xdata,ydata) % cfit plot method subplot(3,1,2) plot(xdata,d1,'m') % double plot method grid on legend('1st derivative') subplot(3,1,3) plot(xdata,d2,'c') % double plot method grid on legend('2nd derivative')
Observe que las derivadas también se pueden calcular y representar directamente con el método de representación cfit, de la siguiente manera. Sin embargo, el método de representación no devuelve datos sobre las derivadas.
plot(fit1,xdata,ydata,{'fit','deriv1','deriv2'})
Encuentre la integral del ajuste en los valores predictores:
int = integrate(fit1,xdata,0);
Represente los datos, el ajuste y la integral:
subplot(2,1,1) plot(fit1,xdata,ydata) % cfit plot method subplot(2,1,2) plot(xdata,int,'m') % double plot method grid on legend('integral')
Observe que las integrales también se pueden calcular y representar directamente con el método de representación cfit, de la siguiente manera. Sin embargo, el método de representación no devuelve datos sobre la integral.
plot(fit1,xdata,ydata,{'fit','integral'})