Need help verifying I have the correct polyfit line for my function.
1 次查看(过去 30 天)
显示 更早的评论
Question: Ps7.mat contain scores for 100 subjects on two different tests. Use the linear regression function you wrote in class to fit a linear model to these data. Plot the data using a scatter plot and plot the fitted model with a line. Report the estimated parameters a and b in the figure title. Then, use polyfit to find the best-fit line predicting score2 from score1. Your coefficients should be the same as the ones you found using your linear regression function in problem 2. List these coefficients in a comment or show them on the figure.
Below I have included my regression line, my a (named alpha) and b (named beta) parameters (that I hope are correct), and what I plugged in for polyfit. I am a bit concerned because my polyfit gives me 0 -0.1606 , and my b is also equal to -0.1606 so I want to make sure that is correct, and if not where I'm going wrong.
load('ps7.mat')
function [b,a,rsq] = regressline(x,y)
n=length(x);
xbar=mean(x);
ybar=mean(y);
sigxsq= sum(x.^2) - (sum(x)^2)/n;
sigxy=sum(x.*y)-(sum(x)*sum(y))/n;
beta=sigxy./sigxsq; % = -0.1606
alpha=ybar-beta*xbar;% = -0.5841
plot(x,y,'o')
hold on
title('alpha=0.5841, beta=-0.1606')
plot(x,(beta*x) + alpha, 'r')
end
p=polyfit(alpha,beta,1)
plot(p)
%p=0 -0.1606
Thanks!
0 个评论
采纳的回答
Walter Roberson
2021-11-18
No you should polyfit x and y.
2 个评论
Walter Roberson
2021-11-18
Do not plot() the output of polyfit. If you want to plot the prediction line then use polyval to create projected locations and plot() those
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear Regression 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!