# Differentiating and Integrating a Fit

This example shows how to find the first and second derivatives of a fit, and the integral of the fit, at the predictor values.

Create a baseline sinusoidal signal:

```xdata = (0:.1:2*pi)'; y0 = sin(xdata); ```

```noise = 2*y0.*randn(size(y0)); % Response-dependent noise ydata = y0 + noise; ```

Fit the noisy data with a custom sinusoidal model:

```f = fittype('a*sin(b*x)'); fit1 = fit(xdata,ydata,f,'StartPoint',[1 1]); ```

Find the derivatives of the fit at the predictors:

```[d1,d2] = differentiate(fit1,xdata); ```

Plot the data, the fit, and the derivatives:

```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') ``` Note that derivatives can also be computed and plotted directly with the cfit plot method, as follows. The plot method, however, does not return data on the derivatives.

```plot(fit1,xdata,ydata,{'fit','deriv1','deriv2'}) ``` Find the integral of the fit at the predictors:

```int = integrate(fit1,xdata,0); ```

Plot the data, the fit, and the 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') ``` Note that integrals can also be computed and plotted directly with the cfit plot method, as follows. The plot method, however, does not return data on the integral.

```plot(fit1,xdata,ydata,{'fit','integral'}) ``` 