Commit bc09d956 by Pierre-antoine Comby

### un llyod max qui marche

parent 8cae2bbf
Pipeline #1195 passed with stage
in 3 minutes and 14 seconds
 #!/usr/bin/env python3 import numpy as np from sipy import integrate from scipy import norm M = 8 X = np.random.normal(0,1,1000) from scipy import integrate from scipy.stats import norm import matplotlib.pyplot as plt def ddp(x): mean = 0, sigma = 1 return norm.pdf(x,mean,sigma) def init_thres_vec(M,X): step = (np.max(X)-np.min(X))/M thres_intervals = np.array([]) mid = np.mean(X) for i in range(int(M/2)): thres_intervals = np.append(thres_vec,mid+(i+1)*step) thres_intervals = np.insert(thtres_vec,0,mid-(1+1)*step) return thres_intervals def quant(x,thres,intervals): thres= np.append(thres, np.inf) thres= np.insert(thres, 0, -np.inf) x_hat_q = np.zeros(np.shape(x)) for i in range(len(thres)-1): if i == 0: x_hat_q = np.where(np.logical_and(x > thres[i], x <= thres[i+1]), np.full(np.size(x_hat_q), intervals[i]), x_hat_q) elif i == range(len(thres))[-1]-1: x_hat_q = np.where(np.logical_and(x > thres[i], x <= thres[i+1]), np.full(np.size(x_hat_q), intervals[i]), x_hat_q) else: x_hat_q = np.where(np.logical_and(x > thres[i], x < thres[i+1]), np.full(np.size(x_hat_q), intervals[i]), x_hat_q) return x_hat_q def quant(centroids, X): bornes = (centroids[:-1]+centroids[1:])/2 bornes = np.insert(bornes,0,-np.inf) bornes = np.append(bornes,np.inf) xquant =np.zeros(len(X)) for k in range(len(X)): for i in range(len(bornes)): if X[k]>=bornes[i] and X[k]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!