How to find the best fit curve as a vertical scaling of another curve?

1 view (last 30 days)
I have a original graph of function f(x). Now I have few points scattered and I want to find a best fit curve through these points. But my new fit curve should be of the form n*f(x) where n is a numerical value. I want to find the value n. How can I do this? Below figure might explain the problem I am talking about. I want to fit curve n*f(x) through orange points and find out n.

Accepted Answer

David Goodmanson
David Goodmanson on 20 Sep 2021
Edited: David Goodmanson on 20 Sep 2021
Hi SojM,
Suppose you have points x,y for the function f(x), where x and y are column vectors. And suppose the red points are the set xr,yr, also both column vectors. Then
ynew = interp1(x,y,xr,'spline');
n = ynew\yr
If you have f(x) as an algebraic function, then the first line can be simply
ynew = f(xr)
  1 Comment
SojM
SojM on 22 Sep 2021
Thanks. This is what I was looking for. Is there any way to put this into a for loop when x and y are same but there are multiple column vectors data (xr, yr)?

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation 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!