Curve fitting for multivariable
4 views (last 30 days)
Show older comments
Hoang Khanh Le
on 23 Nov 2021
Commented: Star Strider
on 24 Nov 2021
xdata = ...
[0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937
];
xdata1 = ...
[0.906307787 0.906307787 0.906307787 0.866025404 0.866025404 0.866025404 0.866025404 0.866025404 0.866025404 0.707106781 0.707106781 0.707106781 0.707106781 0.707106781 0.707106781
];
xdata2 = ...
[6 7 8 3 4 5 6 7 8 3 4 5 6 7 8
];
xdata3 = ...
[0.886554928 0.835547334 0.81144197 0.87036842 0.874342998 0.879089205 0.866834625 0.875630457 0.891094548 0.935958471 0.930808554 0.940172751 0.905018613 0.895769734 0.895561329
];
F = @(x,xdata,xdata1,xdata2,xdata3)xdata*x(1)*exp(x(2)*xdata1+x(3)*xdata2+x(4)*xdata);
Which curve fitting function can I use to solve x(1) x(2) x(3) x(4)?
0 Comments
Accepted Answer
Star Strider
on 23 Nov 2021
There are several options.
I’m using fminsearch here.
xdata = ...
[0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937 0.882263937
];
xdata1 = ...
[0.906307787 0.906307787 0.906307787 0.866025404 0.866025404 0.866025404 0.866025404 0.866025404 0.866025404 0.707106781 0.707106781 0.707106781 0.707106781 0.707106781 0.707106781
];
xdata2 = ...
[6 7 8 3 4 5 6 7 8 3 4 5 6 7 8
];
xdata3 = ...
[0.886554928 0.835547334 0.81144197 0.87036842 0.874342998 0.879089205 0.866834625 0.875630457 0.891094548 0.935958471 0.930808554 0.940172751 0.905018613 0.895769734 0.895561329
];
% F = @(x,xdata,xdata1,xdata2,xdata3)xdata*x(1)*exp(x(2)*xdata1+x(3)*xdata2+x(4)*xdata);
F = @(x,xdata)xdata(:,1).*x(1).*exp(x(2).*xdata(:,2)+x(3).*xdata(:,3)+x(4).*xdata(:,4));
xdatam = [xdata(:) xdata1(:) xdata2(:) xdata3(:)];
x0 = rand(4,1);
[B,fv] = fminsearch(@(x) norm(F(x,xdatam)), x0)
.
5 Comments
More Answers (0)
See Also
Categories
Find more on Least Squares in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!