Librairie GSL et DevC++
2 participants
Page 1 sur 1
Librairie GSL et DevC++
Bonjour,
J'ai ajouté une page sur mon site http://www.tangentex.com/Gsl.htm, qui décrit l'installation de la libraire GNU Scientific Library ainsi qu'un programme exemple d'usage (la FFT d'un créneau sur 128 points).
Pour ceux que ça peut intéresser!
J'ai ajouté une page sur mon site http://www.tangentex.com/Gsl.htm, qui décrit l'installation de la libraire GNU Scientific Library ainsi qu'un programme exemple d'usage (la FFT d'un créneau sur 128 points).
Pour ceux que ça peut intéresser!
Re: Librairie GSL et DevC++
Bonjour,
Je ne suis plus au lycée depuis longtemps... Je suis (quasiment) sorti des études et je pratique pas mal le calcul scientifique. J'ai beaucoup joué avec MatLab/SciLab, je joue d'ailleurs toujours ! Mais ces derniers temps m'est venue l'envie d'apprendre un nouveau langage et de l'appliquer au calcul scientifique.
J'ai choisi le C (et/ou) C++ un peu arbitrairement, et maintenant j'essaie de me lancer. Je suis bien sûr tombé sur les "Numerical Recipes" puis sur GSL et en particulier sur le programme que vous avez donné en exemple.
Je n'ai pas encore réussi à le compiler vraiment, mais c'est sans doute parce que je suis sous linux, donc la librairie graphique (dislin) n'est peut-être pas adaptée. Mais en tous les cas le reste semble marcher !
J'essaierai d'aller jusqu'à une compilation correcte. Je me permettrai ensuite sans doute, de poser des questions !
midel
Je ne suis plus au lycée depuis longtemps... Je suis (quasiment) sorti des études et je pratique pas mal le calcul scientifique. J'ai beaucoup joué avec MatLab/SciLab, je joue d'ailleurs toujours ! Mais ces derniers temps m'est venue l'envie d'apprendre un nouveau langage et de l'appliquer au calcul scientifique.
J'ai choisi le C (et/ou) C++ un peu arbitrairement, et maintenant j'essaie de me lancer. Je suis bien sûr tombé sur les "Numerical Recipes" puis sur GSL et en particulier sur le programme que vous avez donné en exemple.
Je n'ai pas encore réussi à le compiler vraiment, mais c'est sans doute parce que je suis sous linux, donc la librairie graphique (dislin) n'est peut-être pas adaptée. Mais en tous les cas le reste semble marcher !
J'essaierai d'aller jusqu'à une compilation correcte. Je me permettrai ensuite sans doute, de poser des questions !
midel
midel- Nombre de messages : 27
Age : 44
Localisation : Besançon
Date d'inscription : 16/01/2011
Re: Librairie GSL et DevC++
Bonjour,
Dislin fonctionne correctement avec les distributions Redhat et Mandriva (pour celles que j'ai essayé!). Bien sur, il faut télécharger la version Linux de DisLin, mais bon, cela tombe sous le sens...
Quelle distrib de Linux utilises-tu?
Dislin fonctionne correctement avec les distributions Redhat et Mandriva (pour celles que j'ai essayé!). Bien sur, il faut télécharger la version Linux de DisLin, mais bon, cela tombe sous le sens...
Quelle distrib de Linux utilises-tu?
Re: Librairie GSL et DevC++
Re,
Arf, pour l'instant le C est un grand mystère pour moi. Alors j'ai du télécharger sans me poser de question, et je dois avoir la version windows. Je suis sous Ubuntu. J'ai eu un peu de mal à faire marcher gsl (configurer les bibliothèques dans l'IDE... c'était pourtant simple ! ).
Je réessairai avec la bonne bibliothèque dislin dès que je pourrai.
midel
Arf, pour l'instant le C est un grand mystère pour moi. Alors j'ai du télécharger sans me poser de question, et je dois avoir la version windows. Je suis sous Ubuntu. J'ai eu un peu de mal à faire marcher gsl (configurer les bibliothèques dans l'IDE... c'était pourtant simple ! ).
Je réessairai avec la bonne bibliothèque dislin dès que je pourrai.
midel
midel- Nombre de messages : 27
Age : 44
Localisation : Besançon
Date d'inscription : 16/01/2011
Re: Librairie GSL et DevC++
Alors, petite mise à jour !
J'ai réussi à compiler le code en "commentant" tout ce qui concernait dislin (donc il ne restait plus grand chose ). J'ai écrit le résultat dans un fichier texte. Ensuite un petit programme matlab pour importer les données et tracer la courbe et youhou ! Ca semble marcher !
Ce qui m'a un peu perdu au départ, c'est le grand classique de la fft : elle n'est pas symétrique (représentation de 0 à 2pi au lieu de -pi à pi, si je me souviens bien de l'explication). Donc il faut bien penser à faire le "fftshift" sur le vecteur contenant la fft dans matlab.
Petite question : dans ce code, la fft est stockée dans le tableau qui contenait au départ les données qu'on veut transformer. On écrase donc les données pour calculer la fft. C'est un peu... bizarre non ? Moi j'ai préféré créer un second tableau pour garder les 2 en mémoire. Ca doit être un réflexe de "matlabeur" qui n'optimise pas du tout ces histoires de mémoire...
midel
J'ai réussi à compiler le code en "commentant" tout ce qui concernait dislin (donc il ne restait plus grand chose ). J'ai écrit le résultat dans un fichier texte. Ensuite un petit programme matlab pour importer les données et tracer la courbe et youhou ! Ca semble marcher !
Ce qui m'a un peu perdu au départ, c'est le grand classique de la fft : elle n'est pas symétrique (représentation de 0 à 2pi au lieu de -pi à pi, si je me souviens bien de l'explication). Donc il faut bien penser à faire le "fftshift" sur le vecteur contenant la fft dans matlab.
Petite question : dans ce code, la fft est stockée dans le tableau qui contenait au départ les données qu'on veut transformer. On écrase donc les données pour calculer la fft. C'est un peu... bizarre non ? Moi j'ai préféré créer un second tableau pour garder les 2 en mémoire. Ca doit être un réflexe de "matlabeur" qui n'optimise pas du tout ces histoires de mémoire...
midel
midel- Nombre de messages : 27
Age : 44
Localisation : Besançon
Date d'inscription : 16/01/2011
Re: Librairie GSL et DevC++
Bonjour,
Dans la "vraie" vie, ces données sont stockées dans un fichier et transférées dans un tableau uniquement pour le calcul. Il importe peu donc de les écraser...
Il est vrai aussi que dans un programme "utile", qui ne relève pas de l'exemple d'application, ces données subiraient d'autres traitements (sans doute un filtrage avant la FFT par exemple). La technique de duplication dans un tableau de sauvegarde est alors très classique! On ne se pose plus trop de questions sur la consommation mémoire aujourd'hui, surtout pour qq milliers d'octets: la moindre station de travail en calcul possède 8 ou 16 Go de mémoire vive!
Dans la "vraie" vie, ces données sont stockées dans un fichier et transférées dans un tableau uniquement pour le calcul. Il importe peu donc de les écraser...
Il est vrai aussi que dans un programme "utile", qui ne relève pas de l'exemple d'application, ces données subiraient d'autres traitements (sans doute un filtrage avant la FFT par exemple). La technique de duplication dans un tableau de sauvegarde est alors très classique! On ne se pose plus trop de questions sur la consommation mémoire aujourd'hui, surtout pour qq milliers d'octets: la moindre station de travail en calcul possède 8 ou 16 Go de mémoire vive!
Re: Librairie GSL et DevC++
Re !
Ok, je vois. En tous les cas, je suis content d'être parvenu en quelques jours à compiler quelque chose d'à peu près logique. Mes objectifs (ambitieux ) pour la suite :
- parvenir à me passer de matlab pour les petits graphes de contrôle
- réussir à traduire, étape par étape, en c et/ou c++ l'un de mes codes matlab
pour le second point, le code le plus complexe serait un code de propagation de faisceaux lumineux avec des effets non-linéaires (mon domaine de thèse était l'optique non-linéaire). Ca va demander des vecteurs, des matrices de nombres complexes, des fft (1 ou 2D) à la pelle... Bref, si j'ai réussi ça avant 2012, sur mon temps libre, je serai content !
Ok, je vois. En tous les cas, je suis content d'être parvenu en quelques jours à compiler quelque chose d'à peu près logique. Mes objectifs (ambitieux ) pour la suite :
- parvenir à me passer de matlab pour les petits graphes de contrôle
- réussir à traduire, étape par étape, en c et/ou c++ l'un de mes codes matlab
pour le second point, le code le plus complexe serait un code de propagation de faisceaux lumineux avec des effets non-linéaires (mon domaine de thèse était l'optique non-linéaire). Ca va demander des vecteurs, des matrices de nombres complexes, des fft (1 ou 2D) à la pelle... Bref, si j'ai réussi ça avant 2012, sur mon temps libre, je serai content !
midel- Nombre de messages : 27
Age : 44
Localisation : Besançon
Date d'inscription : 16/01/2011
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|