How to fit a curve using "power" fitting or "custom fitting"?

2 views (last 30 days)
I have data which I need to fit using following equation:
y= f(x)= a*x^b+c.
Code:
r=scatter(npp7,lk_2k1);
r.MarkerEdgeColor = 'r';
r.MarkerFaceColor = [0.9 0.9 0.9];
hold on
% Power fit - %y=f(x)=a*x^b+c
a=28.54;
b=0.4634
c=-3.289;
x = data(:);
y = a*x^b+c;
%f = fit(x,y);
p = plot(x,y)
p(1).LineWidth = 2;
c = p.Color;
p.Color = 'r';
It shows: Error using ^ One argument must be a square matrix and the other must be a scalar. Use POWER (.^) for elementwise power.
But if I use(.^), it shows multiple fit lines as shown in attached figure. I want just one fit line for same equation.

Accepted Answer

Image Analyst
Image Analyst on 16 Sep 2017
I attach a demo to do an exponential fit. Adapt as needed.
  3 Comments

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!

Translated by