# how do i deduce the function using linear regression for a set of x and y values?

1 view (last 30 days)
Zaki Aslam on 2 Jan 2022
Commented: Zaki Aslam on 2 Jan 2022
clc
clear all
x=[x2]
y=log([y2])
format long
b2=x\y
yCalc1 = b2*x;
scatter(x,y)
hold on
plot(x,yCalc1)
xlabel('X_2')
ylabel('Y_2')
title('Linear Regression Relation Between X2 & Y2')
x = 25×1
70 170 10 20 100 180 200 110 130 31
y = 25×1
6.7153 8.8063 2.6804 3.7078 7.4083 8.8500 9.1882 7.6424 8.1274 4.9574
b2 =
0.050110078623913 This is what I am getting when i tried to use linear regression. Is there any way i can find the function this plot is tracing?

Turlough Hughes on 2 Jan 2022
Consider using a power fit.
Power law fit:
powerFit = fit(x, y, fittype('power1'))
powerFit =
General model Power1: powerFit(x) = a*x^b Coefficients (with 95% confidence bounds): a = 0.01469 (0.001567, 0.02782) b = 2.525 (2.359, 2.691)
plot(powerFit, x, y);
set(gca,'YScale','log') Turlough Hughes on 2 Jan 2022
You actually have the parameters in your question but the way you fitted the data fixes the intercept to 0 - so the slope is equal to b2 and the intercept is 0. As a point of information, you can fit the slope and intercept using matrix left division with the following modification:
log_y = log(y);
b = [ones(size(x)) x]\log_y; % pad the left side with ones
yCalc1 = b(2)*x + b(1);
scatter(x,log_y)
hold on
plot(x,yCalc1) sprintf('Slope: %1.2f\nIntercept: %1.2f',b(2),b(1))
ans =
'Slope: 0.02 Intercept: 4.45'

KSSV on 2 Jan 2022
clc
clear all
x=x2 ;
y = log(y2) ;
% Use polyfit
p = polyfit(x,y,1) ;
yCalc1 = polyval(p,x) ;
scatter(x,y)
hold on
plot(x,yCalc1)
title(sprintf('y = %f*x+%f',p))
xlabel('X_2')
ylabel('Y_2')
Zaki Aslam on 2 Jan 2022
thank you sir, it worked

### Categories

Find more on Linear and Nonlinear Regression in Help Center and File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!