clc;
clear;
close all;

xtab = [0.3 2.7 4.5 5.9 7.8];
ytab = [1.8 1.9 3.1 3.9 3.3];

n = length(xtab);
p = 2;
%somatorio 
Sx = sum(xtab);
Sy = sum(ytab);
Sxy = sum(xtab .* ytab);
Sx2 = sum(xtab .^ 2);
Sy2 = sum(ytab .^ 2);

%coeficientes
b1 = (Sx * Sy - n * Sxy) / (Sx^2 - n * Sx2);

b0 = (Sy - b1 * Sx) / n;

%desvio residual
u = b0 + b1 * xtab;

D = sum((ytab - u).^2);

r2 = 1 - D / (Sy2 - (Sy^2 / n));

sigma2 = D / (n - p);

disp('Ajuste de Curva por Minimos Quadrados');

disp('b1 =');
disp(b1);

disp('b0 =');
disp(b0);

disp('r2 =');
disp(r2);

disp('sigma2 =');
disp(sigma2);

% grafico
xgrid = min(xtab)-0.5 : 0.1 : max(xtab)+0.5;

ugrid = b0 + b1 * xgrid;

figure;
plot(xgrid, ugrid, 'b-', 'LineWidth', 1.5);
hold on;

plot(xtab, ytab, 'ko', 'MarkerSize', 6);

title('Ajuste de Curva por Minimos Quadrados');
xlabel('X');
ylabel('Y');

legend('Reta Ajustada u(x)', 'Dados Experimentais');

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: