Tableau_type_symbol

Fermé
Ruben - 26 avril 2021 à 15:33
yg_be Messages postés 20733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2022 - 26 avril 2021 à 18:48
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

yg_be Messages postés 20733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2022 1 260
26 avril 2021 à 16:25
bonjour,
ton code est-il complet? il n'affiche rien.
0
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)
0
yg_be Messages postés 20733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2022 1 260
26 avril 2021 à 18:04
examine la ligne 40.
0
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...
0
yg_be Messages postés 20733 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2022 1 260
26 avril 2021 à 18:48
je pense que tu as intérêt à laisser tomber numpy, et à utiliser plutôt
sp.Matrix
.
0