Linear regression with formulas

13 次查看(过去 30 天)
Hey, I need to perform a linear regression with the formulas given
x and y with a line above are the average. And this gives the line:
I then need to make a function that takes x and y as arguments and returns the values for the coefficients â and ^b.
Here is my current code:
f = importdata("HadCRUT.4.6.0.0.monthly_ns_avg.txt");
data = f.data(:,1);
dates = f.textdata;
x = datenum(dates, "yyyy/mm");
y = data;
I then know that the function will look like this. After that I dont know how I should proceed, I've tried with a for loop without any success.
function [coeffA,coeffB] = lin_reg(x,y)
end

采纳的回答

Sulaymon Eshkabilov
Hi,
Here is the solution:
function [a, b] = linear_regression(x,y)
a = sum((x-mean(x)).*(y-mean(y)))./sum((x-mean(x)).^2);
b = mean(y)-a*mean(x);
end
Good luck
  1 个评论
Olaf
Olaf 2019-9-24
编辑:Olaf 2019-9-24
Thanks, do you know how I then can plot y = ax + b inside another plot? Like this:
plox(x,y)
hold on
and then how can I plot the linear regression inside this?

请先登录,再进行评论。

更多回答(1 个)

Sulaymon Eshkabilov
Hi,
Glad that I was of some help. Pl., click accept of my proposed answer. To plot your lin. reg model, use the following simple code:
x = 0:.1:13; % just an example
Y_model = a*x+b; plot(x, y, 'bo', x, Y_model, 'r-'), legend('Given Data Set', 'Linear regression fit model')
Good luck

类别

Help CenterFile Exchange 中查找有关 Linear Regression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by