GAUSS-JORDAN

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 20 avril 2006 à 13:58
cs_leFeu Messages postés 22 Date d'inscription samedi 25 mars 2006 Statut Membre Dernière intervention 18 février 2009 - 17 févr. 2009 à 14:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37098-gauss-jordan

cs_leFeu Messages postés 22 Date d'inscription samedi 25 mars 2006 Statut Membre Dernière intervention 18 février 2009
17 févr. 2009 à 14:28
SVP, je trouve une difficulté a utilisé ce code, C'est presque le mme problème cité, celui de la variable c qui s'incrémente, et par moment elle peu declenché une exception,
y a il une solution????
merci
hasnaoui_karim Messages postés 1 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 30 août 2006
30 août 2006 à 16:44
il s'agit de mon code source qui à la base marche tres bien et je n'ai jamais demandé de le rajouter. Je lui ai juste demander de donner une note à mon code. Donc si il y a un problème sur celui ci je ne suis pas responsable.

Karim Hasnaoui
pjaffren Messages postés 3 Date d'inscription vendredi 14 avril 2006 Statut Membre Dernière intervention 13 mars 2008
16 juil. 2006 à 20:34
salut,
comme je l'ai écrit je ne sais plus où, je n'ai pas codé cela, c'est une autre personne qui m'a demandé de le mettre en ligne car il avait un pb avec la notation du code qui ne marchait pas je crois.
Donc vu que je n'ai pas utilisé ce code, je ne peux pas répondre à vos questions.
Désolée et bon courage.
mathieu44470 Messages postés 1 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 13 juillet 2006
13 juil. 2006 à 18:04
J'ai le meme probleme que ISMOUCHE. Pour une matrice 32x32, une erreur apparait car
k+c+q*dim >= 32*32

Que veux-tu dire par tenseurs d'ordre 2 ?

Ta fonction est bien sensée marcher quelque soit la taille (carrée) de la matrice non?
cs_ismouche Messages postés 1 Date d'inscription dimanche 9 avril 2006 Statut Membre Dernière intervention 6 mai 2006
6 mai 2006 à 15:04
Salut;
j'ai essayé d'utiliser ce programme pour inverser une matrice 7*7 , le programme me donne un message d'erreur.
le probleme reside dans la valeur de "c", car à un moment donné le [k+c+q*dim] se trouvant dans cette boucle s'accroi et depasse la dimension des vecteurs.
while(abs(a)<0.000000001)
{
c++;
for(int q=0;q<dim;q++)
{
temp[k+q*dim]=temp[k+q*dim]+temp[k+c+q*dim];
mat2[k+q*dim]=mat2[k+q*dim]+mat2[k+c+q*dim];
}
a=temp[k+k*dim];

je vous remercie d'avance pour les eventuels eclaircissements.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
20 avril 2006 à 13:58
Il me semble que tu dois avoir un petit problème d'accolades avec ta procédure identité.



Petite suggestion pour cette procédure identité, qui peut, à mon avis être améliorée du point de vue de la vitesse d'exécution :

Dans ton exemple, pour une matrice 10x10, tu fais deux boucles imbriquées (çà c'est bien), mais aussi 100 instructions IF.
Avec le code ci-dessous, tu fais 0 instruction IF, remplacées par une boucle de 10 itérations.
J'imagine que pour de grandes matrices, il doit y avoir un certain gain de temps (pas testé).


# void identite(double mat[],int dim)
# {
# for(int i=0;i<dim;i++)
# {
# for(int j=0;j<dim;j++)
# {
# real(mat[i+j*dim])=0.;
# imag(mat[i+j*dim])=0.;
# }
# }
# for(int k=0;k<dim;k++)
# {
# real(mat[k*(dim+1)])=1.;
# imag(mat[k*(dim+1)])=1.;
# }
# }
Rejoignez-nous