#1 Le 28/02/2007, à 17:27
- laroche1
Extraction valeur min et max d'une colonne?
Rebonjour
J'ai un petit soucis, j'aimerais extraire la valeur la plus petite et la valeur la plus grande d'une colonne de chiffres J'ai utilisé minmax or je ne peux pas prendre les valeurs que cette fonction me donne or je ne sais pas comment faire! si vous avez des idées, elles seront les biens venues!
Merci
Dernière modification par laroche1 (Le 28/02/2007, à 18:56)
Hors ligne
#2 Le 28/02/2007, à 21:43
- kaworu
Re : Extraction valeur min et max d'une colonne?
Salut !
Comme tu dis pas quel langage ni quelle est la source, je t'ai fais un exemple en Ruby (parce que Ruby c'est bon mangez-en) avec un fichier texte :
fichier texte
12
102
421
24
21
2
4
214
1241
4
1
24
1
3
543
512
4
456
23
66364777
2
356
347
7
47
47
4845832
code ruby
#!/usr/bin/ruby
a = Array.new
open(ARGV[0]) do |f|
f.read.to_a.each { |i| a << i.chomp.to_i }
end
puts "le max est #{a.max}, le min est #{a.min}"
résultat
alex@gentoo ~ $ ./minmax.rb fichier
le max est 66364777, le min est 1
"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."
Hors ligne
#3 Le 01/03/2007, à 03:09
- xilef
Re : Extraction valeur min et max d'une colonne?
Le python c'est meilleur
.felix
Hors ligne
#4 Le 01/03/2007, à 11:00
- laroche1
Re : Extraction valeur min et max d'une colonne?
C'est du csh
Dans un fichier, j'ai 3colonnes (latitude, longitude et champ magnétique) de valeurs que je peux ouvrir avec Xemacs.
Dans un autre fichier je demande qu'il me trace le champ magnétique en fonction de la latitude et longitude
mon code pour tracer mes cartes , où je veux introduire min et max
Code:
!/bin/csh
#je vais essayer d'extraire dans les fichiers .vec toutes les donnees de la region d'apollinaris patera
/* petit fichier permettant de me tracer les composantes du champ magnetique que l'on a pu predire!*/
set width = 5
set lon_min = -10
set lon_max = 10
set lat_min = -10
set lat_max = 10
set region = -R$lon_min/$lon_max/$lat_min/$lat_max
awk '{print$1,$2,$4}' calcul_dipole2.vec >! dipole2_br.vec
makecpt -Cno_green -T-1500/1500/500 -Z >! color1.cpt ==> la à la place de 1500 j'aimerais le remplacer par un truc qui a chaque fois que je lance ça pour une autre zone d'etude, ça me donne les valeur min et max !
mon fichier dipole2_br.vec ==> provient d'un code qui me calcule le champ Br pour une zone en latitude de -10 10 et -10 10 en longitude
Code:
-10.000000 -10.000000 4.933323784
-10.000000 -9.000000 5.367579746
-10.000000 -8.000000 5.735052237
-10.000000 -7.000000 5.980566054
-10.000000 -6.000000 6.037799353
-10.000000 -5.000000 5.836437190
-10.000000 -4.000000 5.315204053
-10.000000 -3.000000 4.439723355
-10.000000 -2.000000 3.220808505
-10.000000 -1.000000 1.725745953
-10.000000 0.000000 0.075055400
-10.000000 1.000000 -1.578019364
-10.000000 2.000000 -3.079919733
-10.000000 3.000000 -4.309267789
-10.000000 4.000000 -5.197595565
-10.000000 5.000000 -5.732847792
-10.000000 6.000000 -5.948314683
-10.000000 7.000000 -5.904461521
-10.000000 8.000000 -5.671095180
-10.000000 9.000000 -5.314292932
-9.000000 -10.000000 5.969985182
-9.000000 -9.000000 6.607356817
-9.000000 -8.000000 7.187623618
-9.000000 -7.000000 7.635294200
-9.000000 -6.000000 7.852688403
-9.000000 -5.000000 7.728076196
-9.000000 -4.000000 7.154633830
-9.000000 -3.000000 6.060325627
-9.000000 -2.000000 4.442303565
-9.000000 -1.000000 2.391927960
Hors ligne
#5 Le 02/03/2007, à 20:59
- JoelS
Re : Extraction valeur min et max d'une colonne?
C'est du csh
Bon ben déjà, passes en Bourne Shell ou un dérivé, car le Csh est moins poussé pour faire de la programmation (y'a quelque part un vieux post Usenet qui explique bien pourquoi).
Ensuite, moi, j'utiliserais carrément awk pour faire ça. C'est probablement le mieux adapté:
awk 'BEGIN{min=0;max=0}{print $1,$2,$4; if ($4<min){min=$4};if($4>max){max=$4}}END{print min,max}';
Bon je fais ça de mémoire, ça fait longtemps que j'ai pas programmé en awk.
Hors ligne