If I already had a function and some points(x,y), how can I find six parameters in a function?

1 次查看(过去 30 天)
I already known a function: a+b.*exp(c.*t)+d.*t.*exp((e.*t).^f
unknown parameters are 6 : a b c d e f.
some points:
Please help me. Thanks!

回答(1 个)

Matt J
Matt J 2021-1-10
fminspleas would be a good choice,
seeing as 3 of your parameters (a,b, and d) are intrinsically linear,
funlist={1, @(cef,t) exp(cef(1).*t) , @(cef,t) t.*exp((cef(2).*t).^cef(3)) };
[cef,abd]=fminspleas(funlist,[c0,e0,f0], t,y);
[a,b,c,d,e,f] = deal(abd(1), abd(2), cef(1), abd(3), cef(2),cef(3));

类别

Help CenterFile Exchange 中查找有关 Least Squares 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by