Nous sommes actuellement le 20 Avr 2024, 02:24

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 
Auteur Message
MessagePublié: 09 Sep 2008, 13:08 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 19 Sep 2002, 14:29
Message(s) : 572
Localisation : Saint-Georges de Beauce
Bonjour a vous !

Je fais appel aux esprits mathématiciens de ce forum pour m'aider a construire un petit programme mathématique.

J'aimerais pouvoir avoir un programme (en C, PHP, C++, VB.Net, peu importe..) qui calcul le déterminant d'une matrice N par N et que ce calcul s'effectue de façon récursive.

Pour commencer, il faudrait calculer la premiere ligne ou premiere colonne de la matrice N.

ex.: [ A11 + A12 + A13 + ... + A1N ]

Comment faire pour mettre ce calcul dans une fonction récursive (pas une boucle .. je veux que ca se calcul dans la pile de la mémoire..)

Si quelqu'un peut m'aider!
Merci

_________________
-+-Inazad-+-


Haut
 Profil  
Répondre en citant  
MessagePublié: 10 Sep 2008, 23:13 
Hors-ligne
Modérateur
Modérateur
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 15:10
Message(s) : 3551
Localisation : Beauport, Québec
On dirait un devoir à faire!

Sinon pourquoi vouloir passer à tout prix par la récursivité pour résoudre ton problème?

_________________
Procyon,
Modérateur de la section Trouvailles


Haut
 Profil  
Répondre en citant  
MessagePublié: 10 Sep 2008, 23:16 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 19 Sep 2002, 14:29
Message(s) : 572
Localisation : Saint-Georges de Beauce
Car une boucle c'est lent comparativement a la récursivité :P

Donc aucune solution ?

_________________
-+-Inazad-+-


Haut
 Profil  
Répondre en citant  
MessagePublié: 11 Sep 2008, 20:47 
Hors-ligne
Modérateur
Modérateur
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 15:10
Message(s) : 3551
Localisation : Beauport, Québec
J'sais pas où tu as pris cette information, mais de ce que j'en sais, la récursivité est très souvent plus lente que les boucles et en plus ça prend pas mal plus de mémoire.

La récursivité ça sert dans les cas où les boucles ne peuvent pas résoudre un problème.

_________________
Procyon,
Modérateur de la section Trouvailles


Haut
 Profil  
Répondre en citant  
MessagePublié: 13 Sep 2008, 20:45 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 29 Nov 2003, 21:10
Message(s) : 210
Ce que Procyon dit est juste. Je ne sais pas qui t'a dit ça sur la récursivité mais cette personne est dans l'erreur. Une fonction récursive ne pourra jamais être plus rapide qu'une boucle. Si tu veux savoir pourquoi, demande un listing assembleur à ton compilateur. Les fonctions dites récursives utilisent la pile (Stack) pour simuler la récursivité.

_________________
Intel E8500 3.16 ghz, ASUS P5Q-PRO, 2x2go RAM Mushkin DDR-1000, SEAGATE 500 go, DIAMOND ATI RADEON 4850 512 mo
WINDOWS VISTA BUSINESS SP1 64 bit.
Boitier : ANTEC p182, antec truepower 650w Moniteur : LG 22 pouces 8000:1 2ms

Laptop : HP dv9000 17 pouces Windows XP / Vista


Haut
 Profil  
Répondre en citant  
MessagePublié: 13 Sep 2008, 22:36 
Hors-ligne
Bien informé
Bien informé
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 08:30
Message(s) : 1905
Localisation : Québec
Effectivement la récursivité ce n'est pas plus rapide, mais ça peut simplifier le code par contre.

Dans ce cas-ci le plus simple c'est de parcourir la liste des éléments d'une rangée dans une boucle. Tu pourrais ensuite utiliser la récursivité pour calculer le déterminant en enlevant la rangée et la colonne courante, pour chaque élément.


Haut
 Profil  
Répondre en citant  
MessagePublié: 14 Sep 2008, 11:24 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 19 Sep 2002, 14:29
Message(s) : 572
Localisation : Saint-Georges de Beauce
Ohh peut-etre cest moi qui est dans l'erreur ;-)

Donc comment pourrait-on calculer un determinant dune matrice NxN avec une boucle ?

_________________
-+-Inazad-+-


Haut
 Profil  
Répondre en citant  
MessagePublié: 13 Déc 2008, 06:27 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
peut-être là-dedans:
http://en.wikipedia.org/wiki/List_of_nu ... sis_topics

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
MessagePublié: 10 Jan 2009, 20:47 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 12 Jan 2002, 15:30
Message(s) : 161
Localisation : Beauport
Il y a un langage de programmation
S+ (ou R qui est gratuit) qui a une fonction DET()
si tu es interressé par le R
fait une recherche dans google, inscrit R et prend le premier résultat.

J'ai beaucoup utilisé ce langage lors de mon bacc en actuariat et je peux te dire que c'est
1) efficace
2) complet
3) TRÈS TRÈS intéressant à utiliser - le langage est orienté vecteur ou je ne sais pas trop c'est assez impressionnnant

_________________
Jean-Thomas Baillargeon


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 6 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site