Méthode de Thomas python.

Utilisateur anonyme -  
mamiemando Messages postés 33687 Date d'inscription   Statut Modérateur Dernière intervention   9 déc. 2022 à 17:52

Bonjour,

J'ai écrit un programme sur la méthode de Thomas qui fonctionne, voir ci-dessous :

import numpy as np

def tridiag(a, b, c, y):
    n = len(y)
    D = [0] * n
    B = [0] * n
    D[0] = c[0] / b[0]
    B[0] = y[0] / b[0]
    for i in range(1, n):  # On met jusqu'à n car en python le dernier élément n'est pas pris et si n=3 i=0, 1, 2
        denom = b[i] - a[i] * D[i - 1]
        D[i] = c[i] / denom
        B[i] = (y[i] - a[i] * B[i - 1]) / denom

    x = np.zeros(n, dtype=float)
    x[-1] = B[-1]    
    for i in range(n - 2, -1, -1):
        x[i] = B[i] - D[i] * x[i + 1]
    return x

On me demande à présent de résoudre ceci, mais je ne sais pas du tout comment identifier a, b, c, y dans ce cas-là.

Cordialement,

Lisa.

5 réponses

yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention    

bonjour,

ta boucle for contredit le commentaire sur la même ligne.

comment testes-tu ton code?  es-tu certain qu'il  donne le bon résultat?

comprends-tu à quoi sert ce programme?

0
Utilisateur anonyme
 

Ah, pourtant c'est mon professeur qui a fait le programme (parce que j'étais en retard sur les autres).

Mon prof m'a dit que je trouvais le bon résultat avec ça, oui.

Pas très bien car c'est un chapitre sur lequel j'ai des difficultés.

0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 

Je pense que tu ne peux pas faire l'exercice si tu ne comprends pas à quoi sert le programme.

0
mamiemando Messages postés 33687 Date d'inscription   Statut Modérateur Dernière intervention    

Bonjour fleurdepoirier,

Il ne faut pas mal prendre la réponse de yg_be, mais simplement comprendre qu'on manque d'information pour pouvoir te répondre efficacement.

Peux-tu commencer par expliquer le contexte :

  • Qu'est ce que la méthode de Thomas ? (je ne trouve pas d'article wikipedia qui en parle)
  • À quoi correspond dans ta fonction les paramètres a, b, c, y ? À quoi correspond la valeur retournée x ?
  • Peux-tu donner un exemple d'utilisation qui nous permettrait de comprendre quel est le rapport avec le lien que tu donnes ?

Cela augmentera les chances que quelqu'un comprendre le problème, ce qu'il faut faire, et ce qui te bloque.

Bonne chance

0
Utilisateur anonyme
 

Donc j'ai juste à abandonner et avoir zéro ?

-1
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 

Ou bien étudier le cours, faire d'autres exercices, 

Essayer de comprendre le lien entre l'exercice et le programme,

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 

Ok, super ce forum

Merci pour l'aide

-1