1
resposta

DICA - Cálculo dos coeficientes angular e linear da reta

O exercício das laranjas e toranjas pede para plotar 2 gráficos. Criei uma função que é chamada 2 vezes. Isso organizou melhor o código.

def grafico(X,Y):
    '''
    Cálculo dos coeficientes angular e linear da reta, 
    Usando a fórmula de mínimos quadrados.

    Parâmetros:
        X: valores do eixo x da reta
        Y: valores do eixo y da reta
        n: número de elementos
        a: coeficiente angular
        b: coeficiente linear
        x: valores do eixo x da linha
        y: valores do eixo y da linha
    '''
    
    n = np.size(Y)
    a = (n * np.sum(X*Y) - np.sum(X) * np.sum(Y)) / (n * np.sum(X**2) - np.sum(X)**2)
    b = np.mean(Y) - a * np.mean(X)
    x = X
    y = a * x + b
    
    np.linalg.norm(Y - y)
    
    plt.title(cabecalho)
    plt.plot(X, Y)  # Reta
    plt.plot(x, y)  # Linha

A função é chamada 2 vezes:

cabecalho = 'Oranges'
X = citrus[:,0][:4999]  # Diâmetros
Y = citrus[:,1][:4999]  # Pesos
grafico(X,Y)

E:

cabecalho = 'Grapefruits'
X = citrus[:,0][5000:]  # Diâmetros
Y = citrus[:,1][5000:]  # Pesos
grafico(X,Y)
1 resposta

Ei! Tudo bem, Carlos?

Ótima dica, agradeço por compartilhar! Criar uma função para reutilizar o cálculo e o plot deixou o código bem mais organizado e legível, além de evitar repetição. A separação por chamadas diferentes para laranjas e toranjas também ficou clara e fácil de manter.

Excelente prática de organização de código, contribui muito para quem está acompanhando a atividade.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!