Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Résolution d'un systeme d'équations [ Algorithme / Maths ] (Manubbosse)

lundi 30 juin 2008 à 11:29:23 | Résolution d'un systeme d'équations

Manubbosse

Bonjour à tous!!

Dans le cadre d'un stage, je dois (entre autre) programmer un logiciel de calcul de facteur solaire. Heureusement pour moi, je ne dois m'occuper que du coeur de calcul. Je suis, en effet, un grand débutant en programmation.

Pour l'instant, mon programme stocke les données entrées.

Je dois maintenant résoudre un systeme pouvant aller jusqu'à 150 équations à 150 inconnues et je suis quelque peu bloqué...
On m'avait dit d'utiliser une librairie mais cela me laisse perplexe.
Pour résoudre ce type de systeme, il y a de nombeuses méthodes plus ou moins efficaces. Existe-il une librairie en C/C++ qui "choisirait automatiquement" la meilleure méthode de résolution?

Merci à vous et désolé si le néophyte que je suis s'exprime mal!!

Manu

lundi 30 juin 2008 à 11:40:20 | Re : Résolution d'un systeme d'équations

luhtor

Oui, tu as des méthodes plus ou moins adaptés à tel ou tel problème. Mais il y a aussi des méthodes systématiques. Les librairies offrent les deux. Le gain éventuel à choisir la bonne méthode, c'est la vitesse de  résolution. Mais pour un aussi petit système (150x150) n'importe quelle méthode te fournira un résultat instantané. (Evidemment, ca dépend après cb de fois tu dois résoudre ce système).

Seule précision, les quelques lignes précédentes ont un intéret si ton problème est linéaire, ce qui est le cas j'imagine.

lundi 30 juin 2008 à 12:12:18 | Re : Résolution d'un systeme d'équations

Manubbosse

Merci pour cette précision.

Par contre j'ai un gros doute mais je crois bien que mon system n'est pas linéaire. Il y a, en effet, des équation avec du T^4 (ou T est une des inconnues) et des exponentielles. 

Comment faire dans ce cas la?

Merci

Manu 


lundi 30 juin 2008 à 14:39:32 | Re : Résolution d'un systeme d'équations

juju12

Réponse acceptée !

va falloir utiliser des méthodes itératives alors. Quant à ta question, ça m'étonnerait qu'on puisse déterminer la meilleure méthode de façon automatique; cela dépend de la forme du système, mais pas seulement.
Mais comme disait luhtor, 150 inconnues cela reste une taille raisonnable (du moment que les équations ne sont pas trop tordues), donc a priori contente-toi de trouver une méthode qui fonctionne, peu importe si une autre t'aurait gagner 10µs.


lundi 30 juin 2008 à 15:05:39 | Re : Résolution d'un systeme d'équations

Manubbosse

Les équations ne sont effectivement pas trop tordues! A part un exposant 4 dans certaines et une exponentielle dans une autre, ça devrait donc aller...

Merci a vous!
Je m'en vais rechercher une bibliotheque avec ces différentes méthodes et en choisir une qui fonctionne!

Manu 


lundi 30 juin 2008 à 18:23:25 | Re : Résolution d'un systeme d'équations

luhtor

Autant pour moi, les puissances quatrièmes rendent le truc totalement non linéaire :) Mais tu peux pas utiliser des méthodes de radiosité ou truc du genre qui te permettrait de construire un modèle nodale. Et ca, ca se résoue facilement puisque ca se met sous la forme d'un système matriciel.

lundi 30 juin 2008 à 18:48:24 | Re : Résolution d'un systeme d'équations

Manubbosse

Je n'ai jamais entendu parler de radiosité ou de modèle nodale. Il m'est donc difficile de te répondre!!

Qu'est ce que c'est?

lundi 30 juin 2008 à 21:11:10 | Re : Résolution d'un systeme d'équations

luhtor

Ce genre de truc:
http://wwwesip2.univ-poitiers.fr/enseignement/thermique_mecaflu/rayonnement_surfaces/Gebhart3.html

mardi 1 juillet 2008 à 09:00:04 | Re : Résolution d'un systeme d'équations

Manubbosse

Ca ressemble un petit peu a une des parties de mon systeme (qui considere également des rayonnements de surface) mais les autres parties sont différentes.
Aujourd'hui je vais essayer de lancer la résolution avec la méthode de Newton (si j'arrive à la trouver parceque là, je galere un peu ) pour voir si ça donne de bons résultats. Je pense que ça me permettra d'avancer quelque peu!

jeudi 10 juillet 2008 à 11:59:05 | Re : Résolution d'un systeme d'équations

Sylphe67

Réponse acceptée !
Bonjour,

N'ayant pas vu la tête du système que tu cherche à résoudre ni la façon dont il est dérivé, je ne puis faire que des suppositions. Voilà la technique que j'utiliserais :
1) Réécrire le système en remplaçant toutes les inconnues T par les inconnues phi = sigma * T^4, k étant une constante adaptée à ton problème (cette étape améliore la précision de l'étape 2),
2) Linéariser le système et le résoudre avec une méthode d'inversion exacte (pas de prob. puisque taille ~ 150*150),
3) Revenir au vrai système, le non linéaire. Le résoudre à l'aide d'une méthode itérative (par ex. Newton), en utilisant comme condition initiale de l'algorithme la solution obtenue à la fin de l'étape 2.

En résumé, le passage par la résolution du linéarisé permet de trouver une "bonne" condition initiale pour l'algorithme itératif de résolution du système non linéaire. L'expérience montre que le temps de calcul passé à l'étape 2 est largement compensé par le gain réalisé lors de l'étape 3 (très peu d'itérations seront nécessaires si ton système décrit une physique non chaotique).




1 2

Cette discussion est classé dans : systeme, résolution, calcul, résoudre, équations


Répondre à ce message

Sujets en rapport avec ce message

Recherche : Résolution de systeme d'equation matricielle [ par julien81 ] Bonjour tlm En fait cette année j'ai un sujet pour mon projet annuel c'est de faire le prog pour resoudre un systeme d'equation avec des matrice (dime Recherche d'une bibliotheque C/C++ permettant la résolution d'un systeme d'équations non-linéaires. [ par Manubbosse ] Bonjour à tous.Cela fait quelque temps, maintenant, que je recherche une bibliothèque en C/C++ qui me permettrait de résoudre un systeme d'équations n Une classe d'algèbre (calcul matriciel) performante ? [ par Sylphe67 ] Bonjour à tous,En une phrase, je recherche une classe template permettant d'effectuer du calcul matriciel performant sur des matrices carrées de taill USB reset [ par BarthOlivier ] Bonjourlorsque l'on tire trop de courant sur la prise USB avec un peripherique (trop de courant) Le systeme se met en securité. Le seul moyen apparent Conversion d'entier en base 2^32 vers base 10 [ par le_duche ] Bonjour !Je chercher je cherche, mais je ne trouve pas d'idée.Dans le cadre de l'implémentation d'une classe de grands entiers, je souhaite pouvoir co Calcul période sinus sur Pic [ par spiderloic74 ] <meta name="CREATED" content="20080904;83 math calcul formel [ par yvessimon ] yvessimon Petit problème API Windows [ par TCHATTE ] Bonjour,je suis en train d'essayer d'apprendre comment fonctionne l'api windows ... j'ai a peu près compris comment afficher tout ce que je veux par c Imprimante résolution, impression à l'échelle en BCB [ par nico ] Je cherche comment connaître la résolution de mon imprimante en C++ Builder.Je cherche également comment imprimer à l'échelle en C++ Builder: je voudr imprimante résolution, impression à l'échelle en BCB [ par nico ] Je cherche comment connaître la résolution de mon imprimante en C++ Builder.Je cherche également comment imprimer à l'échelle en C++ Builder: je voudr


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.