Linear-log regression model (curve fitting)

11 views (last 30 days)
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

Ameer Hamza
Ameer Hamza on 17 Jun 2020
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)

Community Treasure Hunt

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

Start Hunting!