rendered paste bodym = load('sinfun1.dat');
xd = m(:,1);
yd = m(:,2);
a = [1.8, 1.1];
f = @(a,x) a(1) .* x .* sin(a(2).*x).^2;
a_fit = nlinfit(xd,yd,f,a);
fmin = @(xd,a) f(a,xd);
fmax = @(xd,a) -f(a,xd);
sw = [2,4,7,9];
xmin(1) = fminsearch(fmin,sw(1),xd,a_fit);
xmin(2) = fminsearch(fmin,sw(2),xd,a_fit);
xmin(3) = fminsearch(fmin,sw(3),xd,a_fit);
xmin(4) = fminsearch(fmin,sw(4),xd,a_fit);
xmax(1) = fminsearch(fmax,sw(1),xd,a_fit);
xmax(2) = fminsearch(fmax,sw(2),xd,a_fit);
xmax(3) = fminsearch(fmax,sw(3),xd,a_fit);
xmax(4) = fminsearch(fmax,sw(4),xd,a_fit);
fi = @(xd,a) f(a_fit,xd);
ar = quadl(fi,0,xmin(4));
x = linspace(0,4*pi,200);
y = f(a_fit,x);
ymax = f(a_fit,xmax);
ymin = f(a_fit,xmin);
figure
g_d = line(xd,yd);
hold on
set (g_d,'linestyle','none','marker','+','markeredgecolor','b');
g_a = line(x,y);
set (g_a,'color','g');
g_min = line(xmin,ymin);
set (g_min,'linestyle','none','marker','o','markeredgecolor','r','color',[1 0 0]);
g_max = line(xmax,ymax);
set (g_max,'linestyle','none','marker','o','markeredgecolor','k','color',[0 0 0]);
hold off