Bonjour,

je développe un programme de compression de données.

J'ai un problème de dimension de ma matrice V (en rouge).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
  
#Nombre de lignes
nrows=test.nrows

#Création du tableau avec les indices
b=[0]*(nrows-1)

#Remplir le tableau
for i in range (1, nrows-1):
    b[i-1]=float(test.cell_value(i,2))
#print("b = ", b)


N=100 #Nombre de coordonnées
s=10 #"sparsité" : nombre max de coordonnées non nulles
n_features = nrows-1 #nombre de points

#Echelle
x1 = np.linspace(-1,1,n_features)

idx = np.nonzero(b) #liste contenant les indices des coordonnées non nulles de a

def f(a,x) :
    res=0
    for i in range (N) :
        res+=a[i]*x**i
    return(res)

## Matrice alétoire

#nombre de mesures m nécessaire
m = np.int(s*np.log(N/s))  
m = int(m)

#matrice A aléatoire
def gen_mat(m,N):
    A = np.zeros((m,N))
    for i in range(m):
        for j in range(N):
            A[i][j] = np.random.randn()

    return A

A = gen_mat(m,len(x1))
#print("A = " ,A)

##matrice V pseudo Vandermonde
V=np.zeros((n_features, N))  #Dimenssion de la matrice

k=(np.pi*2)/len(x1)#intervalle

for i in range (len(x1)) :
    V[i][0]=1

    for j in range (1,N) :
        cos = np.cos(i*j*k)
        sin = np.sin(i*j*k)
        V[i][2*j-1]= cos
        V[i][2*j]= sin
Réponse renvoyer par le programme :

Nom : Résultat erreur.JPG
Affichages : 404
Taille : 11,9 Ko

1) Je n'arrive pas à visualiser et à comprendre le problème ?
2) Auriez vous une idée pour modifier les dimensions de la matrice V au moment de sa création ?

Cordialement,

Vilcawd