Curve Fitting using normal equations formulation of least squares
Show older comments
I am given an data table with values of x and y and supposed to approximate the relationship between x and y with a straight line y = a0 + a1*x. I must find the parameters using normal equations formulation of least squares. I have begun, but am unsure how to plot the curve?
My code is the following:
x = [20 40 60 80 100 120 140 160];
y = [13 22 30 36 40 43 45 46];
% Normal equations formulation of least squares
A = [ones(size(x)) x];
b = inv(A'*A)*(A'*y);
1 Comment
Dr. Bhavya
on 18 Sep 2024
use the command fplot(A)
Accepted Answer
More Answers (1)
A = [20 40 60 80 100 120 140 160];
A = [A' ones(numel(A),1)];
b = [13 22 30 36 40 43 45 46]';
x = A\b;
fprintf('y = %.5f + %.5f * x\n', x(2),x(1))
test = x(1).*A+x(2);
scatter(A(:,1),b,'or')
hold on
plot(A,test)
hold off
Categories
Find more on Get Started with 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!