Tableau_type_symbol

Signaler
-
Messages postés
15331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2021
-
Bonjour,

Ma fonction genere_Bik renvoie un tableau qui doit contenir des expressions symboliques (j'utilise sympy). Mais quand je compile le tableau contient seulement des zeros.

Voici mon code :

import sympy as sp
import numpy as np
from matplotlib import pyplot as plt

def w(t,i,j,x):
    if t[i]==t[i+j]:
        return 0
    else:
        return (x-t[i])/(t[i+j]-t[i])
    
    
def inter_vides(t):
    
    ind_vides=[]
    for i in range(len(t)-1):
        if t[i]==t[i+1]:
            ind_vides.append(i) #indices des intervalles vides 
    return ind_vides
        

def genere_Bik(t,K):
    
        
   
    n = len(t)-1
    
    ind_vides=inter_vides(t)

        
        
    c=n-len(ind_vides)
    
    B=np.zeros((n,c))
    
    #initialisation de B avec les Bi0
    
    for i in range(n):
        a=0
        if not(i in ind_vides):
            B[i][a]==1
        a+=1
            
     #generation des Bik       
       
    x = sp.symbols('x') 
    
    for k in range (1,K,1):
        for i in range (n-k):
            B[i]=w(t,i,k,x)*B[i]+w(t,i+1,k,x)*B[i+1]
            
    return B


Pourriez vous m'aider ?
Configuration: Windows / Edge 90.0.818.46

3 réponses

Messages postés
15331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2021
840
bonjour,
ton code est-il complet? il n'affiche rien.
en appelant la fonction j'obtiens un tableau vide alors qu'il est censé contenir des expressions symboliques avec x :
            
t=[0,1,2,2,3]



B=genere_Bik(t, 2)

print(B)
Messages postés
15331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2021
840
examine la ligne 40.
Oula oui merci. Du coup en mettant un egal simple j'ai une erreur liée à la ligne 49 "can't convert expression to float". J'imagine que je dois changer le type de mon tableau mais je ne sais pas lequel et comment...
Messages postés
15331
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 avril 2021
840
je pense que tu as intérêt à laisser tomber numpy, et à utiliser plutôt
sp.Matrix
.