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

MATLAB Discussion :

Mauvais conditionnement de matrice


Sujet :

MATLAB

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Points : 106
    Points
    106
    Par défaut Mauvais conditionnement de matrice
    Bonjour, j'ai essayé de chercher sur le forum des indications quand aux problèmes de conditionnement de matrice mais je ne trouve pas de solution à mon problème.

    Voici mon code 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    format long;
    N=100;
    n=4;
    ksi=zeros(N+1,1);
    s=zeros(N+1,1);
    s2=zeros(N+1,1);
     
    y=zeros(N+1,1);
    ymax=60;
    gamma=1.4;
    M0=0.1;
    omega=0.5;
    c=0.99;
    beta=0;
     
    %Discrétisation
    for p=0:N
       if(p==50)
           ksi(p+1)=0;
       else
        ksi(p+1)=cos(pi()*(p)/N);% valeur a voir
       end
        y(p+1)=(ymax/tan((c*pi())/2))*tan((c*pi()*ksi(p+1))/2);
        s(p+1,1)=(ymax/tan((c*pi())/2))*c*pi()/2*(1/(cos(c*pi()*ksi(p+1)/2)^2));
        s2(p+1,1)=(ymax/tan((c*pi())/2))*(c*pi())^2*tan((c*pi()*ksi(p+1))/2)*(1/(cos(c*pi()*ksi(p+1)/2)^2));
    end
     
    d_=zeros(N+1,N+1);
    A=zeros(N+1,N+1);
    c=ones(N+1,1);
    c(N+1)=2;
    c(1)=2;
     
    %Matrice D~
    for l=0:N
        for p=0:N
            if l~=p
                d_(l+1,p+1)=(c(l+1)/c(p+1))*((-1)^(l+p))/(ksi(l+1)-ksi(p+1));
            else
                d_(l+1,p+1)=-ksi(l+1)/(2*(1-ksi(l+1)^2));
     
            end
        end
    end
    d_(1,1)=(2*N^2+1)/6;
    d_(N+1,N+1)=-(2*N^2+1)/6;
     
    S=diag(s);
    S2=diag(s2);
     
    %Calcul de la matrice d_premiere
    d_premiere=S^(-1)*d_;
    %Calcul de la matrice d_seconde
    d_seconde=(d_)^2/(S^2)+d_/S2;
    Le message d'erreur de matlab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: Matrix is singular to working precision. 
    > In chebyshev_seconde_methode at 74
    >>
    J'ai essayé avec la fonction " linsolve" et "inv" mais le message d'erreur est le même. Je ne vois pas d'où peut venir le problème .
    Le problème semble venir du second terme dans d_seconde mais je ne vois pas comment corriger cela.

    Merci

  2. #2
    Membre habitué
    Profil pro
    Doctorant
    Inscrit en
    Mars 2011
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 147
    Points : 196
    Points
    196
    Par défaut
    Bonjour,

    On a abordé récemment des problèmes similaires de conditionnement de matrices dans ce topic.
    Je ne sais pas si ça pourra t'aider.

    Maters

Discussions similaires

  1. Conditionnement des matrices
    Par Matersss dans le forum MATLAB
    Réponses: 15
    Dernier message: 13/03/2014, 14h15
  2. Matrice 3x3 mal conditionnée
    Par PiRick dans le forum Mathématiques
    Réponses: 21
    Dernier message: 24/08/2012, 12h15
  3. inversion de matrice mal conditionnée
    Par RO_student dans le forum Mathématiques
    Réponses: 12
    Dernier message: 10/04/2008, 11h50
  4. Sérieux problème matrice mal conditionné
    Par maamar dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 29/05/2005, 23h57
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

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