Linear-log regression model (curve fitting)

Dear all
I reask this question with more details
I have this data
x= [50;81;73;77;127;140;122;125;140;145;180;185;178;96;83;192;182;120;127];
y= [122;126;121;123;135;130;117;119;125;125;135;135;140;140;147;147;144;141;139];
y(x) = α + β10 log10(x) + ξ, : ξ ~ N(0, σ^2), random variable that accounts for shadowing variation modeled with normal distribution and standard deviation (Specifically, is a random variable that accounts for shadowing variation modeled with normal distribution and standard deviation σ, assumed equal to the standard deviation of the regression residuals).
How can I use curve fitting to find the values of α, β and ξ,
Expected Output fitting plot

 Accepted Answer

Try this
x = [50;81;73;77;127;140;122;125;140;145;180;185;178;96;83;192;182;120;127];
y = [122;126;121;123;135;130;117;119;125;125;135;135;140;140;147;147;144;141;139];
[x, idx] = sort(x);
y = y(idx);
log_x = 10*log10(x);
X = [ones(size(x)) log_x];
param = X\y;
y_est = X*param;
y_err = y - y_est;
sigma = std(y_err);
plot(x, y, 'r+', x, y_est, 'b-')

More Answers (0)

Categories

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