112 views (last 30 days)

Show older comments

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];

Ameer Hamza
on 18 May 2020

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

Ang Feng
on 18 May 2020

Hi Burak,

This link is certainly helpful

Matlab has very good documentation.

Good luck

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!