curve fitting with fminsearch
147 次查看(过去 30 天)
显示 更早的评论
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];
2 个评论
Ameer Hamza
2020-5-18
编辑:Ameer Hamza
2020-5-18
Can you show what you have already tried? Even if you don't have a code, can you write down your understanding about solving this problem?
采纳的回答
Ameer Hamza
2020-5-18
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), '-')
3 个评论
Ameer Hamza
2020-5-18
That a very useful observation. Many times differences in scale of the data points also make it difficult for optimizers to find an optimal solution. Such modifications can make things easy for the optimizer.
更多回答(1 个)
Ang Feng
2020-5-18
Hi Burak,
This link is certainly helpful
Matlab has very good documentation.
Good luck
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!