#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Kleinste-kwadraten lijnpassen met numpy.polyfit. Hoofdstuk: 78/79 — Lijnpassen (least squares) Vereist: numpy (pip install numpy) """ import numpy as np rng = np.random.default_rng(42) x = np.linspace(0, 10, 21) y = 2.0 * x + 1.0 + rng.normal(0, 0.6, size=x.size) a, b = np.polyfit(x, y, 1) y_fit = a * x + b residuen = y - y_fit print(f"Fit: y = {a:.3f} * x + {b:.3f}") print("Gemiddelde residu:", np.mean(residuen)) print("Standaardafwijking residu:", np.std(residuen, ddof=1))