How do I make a fitting function with the fitting coefficient for x-data?

1 view (last 30 days)
Hi.
I am trying to fit the experimental data to the mastercurve we have.
I have set of "xdata".
Let's say I have [0,1,2,3,4,5].
Then, the master curve is the function of xdata.
Let's say master = (xdata)^2.
Here, I also have ydata that corresponds to the xdata from the experiment.
My whole set of data are
xdata = [0,1,2,3,4,5]
ydata = [0,1,2,3,4,5]
Here, I want to have a fitting coefficient multiplied on "xdata" to fit the ydata into mastercurve.
Which means, I will have new plot of ydata vs C*xdata and mastercurve as a function of C*xdata.
I tried to write out a fitting function but confused about the setting since the input parameter is changing for both raw data set and mastercurve. (I tried to use lsqcurvefit but xdata is changing so I am confused.)
Can anyone help me on this?
I also want to obtain a R-squared value out of it.
Thank you very much!
- Sean

Accepted Answer

Matt J
Matt J on 25 Jun 2018
Edited: Matt J on 25 Jun 2018
For a single coefficient, it's as simple as,
C=((xdata(:)).^2)\ydata(:);
  5 Comments
Joe Goddard
Joe Goddard on 26 Jun 2018
You have provided a numerical formula without a mathematical derivation to back it up. To obtain a "best fit" to the scale factors necessary to reduce a set of curves to a master curve is not a trivial matter. If this is not what you are trying to do, then we are talking past one another. JG
Matt J
Matt J on 26 Jun 2018
Edited: Matt J on 26 Jun 2018
My best interpretation of what the OP was trying to do is to find the scalar C that minimizes
f(C) = norm( C*xdata(:).^2 -ydata(:) )^2
If that much is true, then the solution is trivially given by what I posted.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!