Optimizing the coefficients of basis functions to fit a curve
Show older comments
I have 3 vectors F1, F2, and F3. I want to linearly combine these vectors such that I create a new function W(z)=a*F1+b*F2+c*F3, where a,b,c are just constant coefficients and the 3 vectors are essentially basis functions. These vectors are 1x70 doubles, and are shown plotted below (note that the horizontal axis 'Range' is the 'z'-variable in the equations below).

The problem I am having is finding a way to calculate the coefficients a,b,c so that W=a*F1+b*F2+c*F3 most closely matches a function given by:
Plotted together, W and r are shown below...

What sort of optimization process can I use to build a function W=a*F1+b*F2+c*F3 that fits 'W' to 'r' and returns the coefficients a,b,c used to do so? Please note that F1,F2, and F3 are all 1x70 doubles, and are not explicitly functions of z anymore. They have each individually been evaluated. And so I tried using the curvefitting app with no success because of this. I really just need a systematic way to optimize the coefficients a,b, and c. Is there a built in way to do this?
Accepted Answer
More Answers (0)
Categories
Find more on Get Started with Curve Fitting Toolbox 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!