MATLAB: Curve fitting with fminsearch

fminsearch

Hello all,
I'm trying to learn MATLAB and take a course for that, and i have a homework that i can't solve. I have experimental datas for x and y variables(total 11 each) and the question asks me to fit the datas by using 'fminsearch' .
Can anyone help me how can i find the best curve and write a proper code? Thank you
x=[3, 5, 7, 10, 13, 17, 20, 23, 25, 29, 31];
y=[1.1 , 2.0 , 3.7 , 9.0 , 22.2 , 73.8 , 181.5,446.5 , 813.6 , 2701.3 , 4922.1];

Best Answer

Study this example
x = [3, 5, 7, 10, 13, 17, 20, 23, 25, 29, 31];
y = [1.1 , 2.0 , 3.7 , 9.0 , 22.2 , 73.8 , 181.5,446.5 , 813.6 , 2701.3 , 4922.1];
f = @(a,b,x) a*exp(b*x);
obj_fun = @(params) norm(f(params(1), params(2), x)-y);
sol = fminsearch(obj_fun, rand(1,2));
a_sol = sol(1);
b_sol = sol(2);
figure;
plot(x, y, '+', 'MarkerSize', 10, 'LineWidth', 2)
hold on
plot(x, f(a_sol, b_sol, x), '-')