IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Produit matrice-vecteur


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Février 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 1
    Par défaut Produit matrice-vecteur
    Bonjour,
    j'ai un problème : le produit matrice-vecteur en fortran.
    Voila mon code
    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
    program produit
    implicit none
    integer,parameter :: n=4
    integer,parameter :: dp=kind(0.d00)
    real(kind=dp), dimension (n,n):: M
    real(kind=dp), dimension (n):: xvec=(/1,2,3,4/)
    real(kind=dp), dimension (n):: y
    real(kind=dp), 
    integer :: i,j
    call produit_matrice_vecteur(M,x,y,n)
    end program produit 
     
     
    subroutine produit_matrice_vecteur(mat,a,b,ndim)
    implicit none
    integer,parameter :: dp =kind(0.d00)
    integer, intent(in) :: ndim
    real(kind(0.0d00)), dimension(ndim,ndim):: mat 
    real(kind(0.0d00)), dimension(ndim):: a
    real(kind(0.0d00)), intent(out) :: b
    integer :: i,prod
    prod=0.0d00
    prod=prod+b
    do i=1,ndim
    prod=dot_product(mat(i,:),a)
    end do
    write(*,*)"prod=b",b
     
    return 
    end subroutine produit_matrice_vecteur

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur modélisation aérodynamique
    Inscrit en
    Juillet 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur modélisation aérodynamique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 105
    Par défaut
    Bonjour,

    Un petit effort s'il te plait, juste en relisant ton programme (ou au moins les erreurs du compilateur, tu peux trouver que la 8ème ligne de ton programme est clairement fausse et ne sert à rien ... a savoir :
    Ensuite il y a multes incohérences dans ta subroutine :

    1) je suppose que dans le main, la variable "y" est le vecteur contenant le résultat de la multiplication, mais l'argument correspondant dans ta subroutine, "b", n'est pas déclaré comme un tableau.

    2) ensuite à quoi sert la variable "prod" ? Tu la déclares comme un entier mais tu lui affectes un réel double :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    integer :: i,prod
    prod=0.0d00
    3) Outre le problème de déclaration, regarde ce que tu fais de cette variable prod :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    prod=0.0d00
    prod=prod+b
    en gros tu fais : prod = 0 et apres : prod = 0 + b ... n'est-ce pas plus simple de faire simplement : prod = b ?

    4) Surtout qu'après, dans la boucle, la valeur de prod est ndim fois écrasée ...

    S'agissant apparement d'un travail scolaire, je t'invite à regarder un peu plus attentivement ton code et te laisse le soin de le débugger.

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/08/2010, 18h54
  2. produit matrice-vecteur sous forme additive
    Par djocin dans le forum Fortran
    Réponses: 4
    Dernier message: 04/05/2010, 10h00
  3. matrice vecteurs matlab
    Par momo032114 dans le forum MATLAB
    Réponses: 10
    Dernier message: 14/08/2008, 12h17
  4. Tri Tableau Matrice vecteur
    Par french_aspi dans le forum MATLAB
    Réponses: 9
    Dernier message: 24/03/2008, 14h50
  5. matrices * vecteur
    Par delire8 dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/09/2002, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo