CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

équation/récurrence: matrice

huseyin3942
huseyin3942
Niveau 6
15 juin 2014 à 12:21:47

Bonjours à tous alors voila je vous explique mon problème, je suis sur python:

En fait j'ai une matrice de taille n*m dont je ne connais que les valeurs extremum, c'est dire que les valeurs à droite de la matrice, en haut, en bas et à gauche; et des 0 partouts ailleurs initialement.

Et, je dois remplir toute la matrice avec, sachant que pour une ligne i et j quelconque, je dois avoir:
M[i,j]=(M[i-1,j]+M[i+1,j]+M[i,j-1]+M[i,j+1])/4
En fait on fait la moyenne des valeurs entourant la case considéré.

Mais si je met cette relation dans mon programme tel quel, cela ne vas pas correspondre à ce que l'on attend, puisqu'il va faire la moyenne pour les premières cases avec les zéros initiaux. Je dois donc trouver une relation de récurrence mais je n'arrive vraiment pas.Ou bien remplacer les 0 par des variables mais python n'autorise pas.

Donc si vous avez une idée je suis preneur.Merci

kernel[]
kernel[]
Niveau 10
15 juin 2014 à 14:24:01

suffit de parcourir toutes les valeurs de ta matrice et de leur appliquer ton calcul, imaginons la matrice carrée suivante :

1 1 1 2
1 0 0 1
1 0 0 1
1 2 3 1

tu commences par établir ton calcul pour la première valeur de la diagonale (0,0), M(0,0) <- 2/4 = 1/2 tu te retrouves avec M =

0.5 1 1 2
1 0 0 1
1 0 0 1
1 2 3 1

Tu passes à (1,0) <- 1 + 0.5 + 0 + 0 /4 = 1.5/4, etc.
T'as juste à boucler pour i de 0 à n et j de 0 à m en faisant ton calcul en prenant soin pour les valeurs extremales qui n'ont pas de voisin à certains endroits de vérifier si i == 0 ou n et si j == 0 ou m

godrik
godrik
Niveau 30
15 juin 2014 à 14:48:09

C'est un laplacien que tu calcul. Il te faut un champ vectoriel complet pour faire ca. A moins que ca soit le champs a l'equilibre en connaissant lss condition de bord que tu cherches...

huseyin3942
huseyin3942
Niveau 6
15 juin 2014 à 17:52:16

kernel[]:

non on ne touche pas aux valeurs extremums, ceux sont des "conditions initiales", dans ton tableau on doit changer que les zeros en fait.
Et si j'applique ta methode à laquelle j'ai d'abord pense car, cela ne vas pas correspondre à la situation car, lors des premieres valeurs , la position voisine va avoir la valeur 0 alors que c'est faux, puisqu'elle est inconnue.

godrik: c'est en effet une histoire de champ, je connais les conditions de bord, mais je n'arrive pas a voir comment il faut traiter cela informatiquement, car à la main cela fonctionne bien, on a autant d'equation que d'inconnue, mais c'est dur a traiter sur le pc.

kernel[]
kernel[]
Niveau 10
15 juin 2014 à 18:14:13

ah ok, donc c'est quoi ton truc ? une espèce d'équation de diffusion ?

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment