exponenta event banner

Дифференцирование и интеграция соответствия

В этом примере показано, как найти первую и вторую производные аппроксимации и интеграл аппроксимации по значениям предиктора.

Создайте синусоидальный сигнал базовой линии:

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

Добавьте шум к сигналу:

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

Поместите шумные данные в пользовательскую синусоидальную модель:

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

Найдите производные подгонки в предикторах:

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

Постройте график данных, аппроксимации и производных:

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')

Следует отметить, что производные также могут быть вычислены и нанесены непосредственно с помощью метода построения графика cfit следующим образом. Однако метод построения графика не возвращает данные о производных.

plot(fit1,xdata,ydata,{'fit','deriv1','deriv2'})

Найдите интеграл посадки в предикторах:

int = integrate(fit1,xdata,0);

Постройте график данных, аппроксимации и интеграла:

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')

Следует отметить, что интегралы также могут быть вычислены и нанесены непосредственно с помощью метода графика cfit следующим образом. Однако метод построения графика не возвращает данные об интеграле.

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