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

Octave Discussion :

probleme fonction householder


Sujet :

Octave

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 74
    Points : 54
    Points
    54
    Par défaut probleme fonction householder
    Bonjour :
    je dois faire une fonction dans octave pour resoudre les systemes d'equations utilisabt l'algorithme householder QR j'ai suivi un algorithme mais ca marche pas

    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
    31
    32
    33
    34
    35
    36
    function x = househo(A, b)
     
    	[n,m] = size(A);
    	Q=zeros(1:m,1:m);
    	for i=1:m
    		Q(i,i)=1;
    	endfor
    	for k=1:n
    		s=((abs(A(k:m,k)))^2);
    		if A(k,k)<0
    			s=-s;
    		endif
    		v=zeros(1:k-1)
    		v(k)=A(k,k)+s;
    		A(k,k)=s;
    		v(k+1:m)=A(k+1:m,k);
    		A=zeros(k+1:m,k);		
    		p=s*v(k);
    		for j = k+1:n
    			t=(v(k:m)'*A(k:m,j))/p;	
    			A(k:m,j)=A(k:m,j)-t*v(k:m);
    		endfor
    		t=((v(k:m)'*b(k:m))/p);
    		b(k:m,j)=b(k:m,j)-(t*v(k:m));
    		for j=k+1:n
    			t=v(k:m)'*Q(k:m,j)/p;
    			Q(k:m,j)=Q(k:m,j)-t*v(k:m);
    		endfor
    	endfor
    	for i=n:-1:1
    		s=A(i,i+1:n)*x(i+1:n)
    		x(i)=(b(i)-s)/A(i,i)
    	endfor
    	R=A;
    	Q=Q';
    endfunction
    et voici les erreures

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    octave:3> x=househo(A,b)
    warning: implicit conversion from range to real scalar
    warning: implicit conversion from range to real scalar
    error: for A^b, A must be square
    error: called from:
    error:  /househo.m at line 9, column 4
    Pouvez vous m'aidez ?
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 947
    Points
    52 947
    Par défaut
    En mathématiques, le produit matriciel suit certaine règle...
    Le produit d'une matrice par cette même matrice nécessite qu'elle soit carrée.

    Sous MATLAB :
    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
    >> A = [1 2 ; 3 4]
     
    A =
     
         1     2
         3     4
     
    >> A*A
     
    ans =
     
         7    10
        15    22
     
    >> A^2
     
    ans =
     
         7    10
        15    22
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    >> A = [1 2 3 ; 4 5 6]
     
    A =
     
         1     2     3
         4     5     6
     
    >> A*A
    ??? Error using ==> mtimes
    Inner matrix dimensions must agree.
     
    >> A^2
    ??? Error using ==> mpower
    Matrix must be square.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 74
    Points : 54
    Points
    54
    Par défaut
    Alors la question est est-ce que l'algorithme est correcte ?
    Car le m peux etre plus grand que n ( je crois ).
    Vous me donner un algorithme a suivre ? si ma methode ne marche pas ?
    Mon b e un vecteur de valeurs libres c'est pas une matrice ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 947
    Points
    52 947
    Par défaut
    Citation Envoyé par cyberkamikaz Voir le message
    Vous me donner un algorithme a suivre ?
    => Résolution des systèmes linéaires - Factorisation QR (méthode de Householder)

  5. #5
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 74
    Points : 54
    Points
    54
    Par défaut
    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSL]Probleme fonction recursive
    Par Le-Cortex dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 12/12/2005, 15h10
  2. [Mail] Probleme fonction mail()
    Par tissot dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2005, 12h55
  3. problème fonctions callback
    Par youp_db dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 02/10/2005, 14h47
  4. probleme fonction gethostbyname
    Par oclone dans le forum Développement
    Réponses: 6
    Dernier message: 14/04/2005, 10h31
  5. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52

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