Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Matlab : repousser les limites de linsolve ???



  1. #1
    FinchMulateur

    Matlab : repousser les limites de linsolve ???


    ------

    Bonjour,

    dans le cadre d'un exercice, je suis amené à résoudre avec matlab des systèmes linéaires de taille très importante (en fait je pourrais me contenter de systèmes moins importants, mais autant optimiser).

    Je précise que ces matrices sont méchamment creuses (en fait des matrices d'adjacence avec des nœuds d'un degré maximum de quatre)... linsolve n'accepte plus de résoudre pour des valeurs de l'ordre de 15 000 équations à 15 000 inconnues...

    Mes questions sont les suivantes :

    - Existe-t-il une option de linsolve ou une autre fonction tout aussi efficace pour spécifier que la matrice est creuse et accélérer la convergence (temps correct, de l'ordre de 5 minutes pour la résolution de 6000 équations, mais le reste du temps utilisé est-négligeable par rapport à cette résolution.)

    -Est-il possible de traiter des systèmes de la taille mentionnée ci-dessus avec Matlab ? Si oui, comment procéder ?



    Merci d'avance

    -----

  2. #2
    FinchMulateur

    Re : Matlab : repousser les limites de linsolve ???

    J'ai trouvé...

    Il faut abandonner 'linsolve' qui n'est pas compatible avec 'sparse' et utiliser \...

    Il faut envoyer les matrices du système Ax=b dans la fonction sparse puis on applique une élimination gaussienne classique...

    Désolé d'ennuyer le monde à cause d'un truc aussi débile...

  3. #3
    lou_ibmix_xi

    Re : Matlab : repousser les limites de linsolve ???

    Désolé d'ennuyer le monde à cause d'un truc aussi débile...
    Ce n'est pas débile puisque tu t'ai posé la question... Et si quelqu'un d'autre se la pose il trouvera ta réponse donc tout le monde y gagne: c'est la loi du forum

  4. #4
    predator06

    Re : Matlab : repousser les limites de linsolve ???

    Salut

    Je fais un petit déterrage du Topic

    J'ai écrit un programme dans lequel j'utilise linsolve.
    T = linsolve (A,B)
    A est une matrice 800*800
    B est une matrice 800*1
    et donc T est une matrice 800*1

    Ma matrice A est essentiellement composée de zéro.

    J'utilise ce programme pour une simulation, c'est à dire qu'à chaque pas de temps, j'appelle ce programme.
    Donc j'aimerais accélérer si possible le calcul.

    J'ai essayé la proposition de FinchMulateur :
    - J'ai réussi à utiliser "sparse" sur ma matrice A.
    - Par contre je ne comprends la fin de sa 2ème phrase "et utiliser \...". Ca veut dire quoi ?
    - J'ai fais quelques recherches sur l'éminination gaussiènne proposé par Finchmulateur. J'ai trouvé quelques lignes de code que j'ai essayé dans mon programme mais mon temps de calcul a explosé.

    Un peu d'aide serait la bienvenue
    Merci
    Dernière modification par predator06 ; 11/06/2013 à 13h21.

  5. A voir en vidéo sur Futura
  6. #5
    lou_ibmix_xi

    Re : Matlab : repousser les limites de linsolve ???

    Par contre je ne comprends la fin de sa 2ème phrase "et utiliser \...". Ca veut dire quoi ?
    c'est la division matricielle dans l'autre sens, si tu veux résoudre le système "Ax = y", alors la solution est "x = A\y"

  7. #6
    predator06

    Re : Matlab : repousser les limites de linsolve ???

    Ah oui d'accord
    J'ai réussi à l'utiliser sous matlab.
    Mais bon, simulink ne comprends pas les matrice sparse. Finalement, ca ne me servira pas plus que ca.

    merci

  8. #7
    Dlzlogic

    Re : Matlab : repousser les limites de linsolve ???

    Bonjour,
    Je voudrait aborder cette question tout à fait par un autre bout : pourriez vous expliquer, si c'est pas indiscret, pourquoi vous voulez résoudre un système linéaire aussi grand. C'est à dire quel est le problème que vous devez résoudre ?

Discussions similaires

  1. Repousser les chats ...
    Par Papy Octet dans le forum Jardinage
    Réponses: 26
    Dernier message: 15/10/2018, 11h56
  2. repousser chiens et chats
    Par florian du 59 dans le forum Environnement, développement durable et écologie
    Réponses: 10
    Dernier message: 30/03/2010, 11h41
  3. Actu - Des germes de cellules souches pour faire repousser les dents !
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 21
    Dernier message: 16/02/2010, 20h13
  4. matlab points limites courbe
    Par momo032114 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 13/08/2008, 10h20
  5. comment repousser les fourmis?
    Par Thalia dans le forum Biologie
    Réponses: 1
    Dernier message: 15/05/2006, 14h41