Você está na página 1de 52

Esse sistema pode ser resolvido por qualquer método visto anteriormente:

- Regra de Cramer
- Método de Gauss
- Fatoração LU
- Método de Gauss Seidel
- Método de Cholesky, pois o sistema de equações possui a matriz simétrica e definida positiva.
Regra de Cramer
Implementação em
MATLAB
Regressão Linear
function [a, r2] = regrlin(x,y)
% regrlin: Ajuste de curvas por regressão linear por mínimos
quadrados
% [a, r2] = regrlin(x,y)
% entrada:
% x = variável independente
% y = variável dependente
% Saída:
% a = vetor de inclinação, a(1), e interseção, a(2)
% r2 = coeficiente de determinação
n = length(x); % determina a quantidade de dados
x = x(:); y = y(:); % converte linhas para colunas
%
sx = sum(x);
sy = sum(y);
sx2 = sum(x.*x);
sxy = sum(x.*y);
%
% Montagem e solução do sistema de equações lineares
X = [n sx;
sx sx2];
Y = [sy; sxy];
a = lu2020A(X,Y);
%
% r2 = coeficiente de determinação (eq. 17.11)
sy2 = sum(y.*y);
r2 = ((n*sxy-sx*sy)/sqrt(n*sx2-sx^2)/sqrt(n*sy2-sy^2))^2;
%
% cria um gráfico dos dados e da melhor reta de ajuste
xp = linspace(min(x),max(x),2);
yp = a(2)*xp+a(1);
plot(x,y,'o',xp,yp,'g')
grid on
Implementação em
MATLAB
Regressão Linear
Versão Compactada
function [a, r2] = regrlin2022(x,y)
%
% Objetivo: Ajuste de curvas por regressão linear por mínimos
quadrados
%
% [a, r2] = regrlin(x,y)
%
% entrada:
% x = variável independente
% y = variável dependente
%
% Saída:
% a = vetor de inclinação, a(1), e interseção, a(2)
% r2 = coeficiente de determinação
%
% Montagem e solução do sistema de equações lineares
n = length(x);
x = x(:); y = y(:); % converte linhas para colunas
X = [n sum(x);
sum(x) sum(x.*x)];
y = [sum(y); sum(x.*y)];
a = lu2020A(X,Y);
%
% r2 = coeficiente de determinação
sy2 = sum(y.*y);
r2 = ((n*sxy-sx*sy)/sqrt(n*sx2-sx^2)/sqrt(n*sy2-sy^2))^2;
%
% Gráfico dos dados e da melhor reta de ajuste
xp = linspace(min(x),max(x),2);
yp = a(2)*xp+a(1);
plot(x,y,'o',xp,yp,'g')
grid on
end
Implementação em
MATLAB
Regressão quadrática
Implementação em MATLAB
Regressão Quadrática

function [ a,r2 ]=regrpar( x,y )

Deve ser feita pelo aluno baseada na


implementação linear.

Você também pode gostar