> | restart;with(plots): interface(showassumed = 0): |
On initialise la date_du_jour :
> | date_du_jour := StringTools:-FormatTime("%A %d %B %Y %T"):date_du_jour; |
On se place dans le répertoire Supplement :
> | currentdir("C:/Users/jcle/Maple_10/Supplement"): |
On vérifie qu'on est dans le bon répertoire :
> | ssystem("dir"); |
On suppose qu'on veut lire le fichier 'results.dat' et qui est le suivant :
#
# Sat Oct 7 15:05:33 2006
#
# tau population = 1.3ps-1
# tauomega = 0.63ps-1
# tau orientation = 6.25ps-1
# beta0 = 400ps-2
# gama = 17.3287ps-2
# Fréquence pompe = 3340 cm-1
# r0 = 2.876(A)
# m = 5
0.0000E+00 2.5000E+00 2.5050E+00 2.5100E+00 2.5150E+00
-2.0000E-01 1.3355E-06 1.5770E-06 1.8578E-06 2.1836E-06
-1.0000E-01 6.2234E-06 7.3463E-06 8.6515E-06 1.0165E-05
0.0000E+00 1.6671E-05 1.9672E-05 2.3158E-05 2.7199E-05
1.0000E-01 2.7802E-05 3.2791E-05 3.8586E-05 4.5299E-05
2.0000E-01 3.2629E-05 3.8466E-05 4.5241E-05 5.3085E-05
3.0000E-01 3.1380E-05 3.6974E-05 4.3464E-05 5.0974E-05
4.0000E-01 2.8093E-05 3.3087E-05 3.8879E-05 4.5580E-05
5.0000E-01 2.4879E-05 2.9297E-05 3.4420E-05 4.0347E-05
6.0000E-01 2.2117E-05 2.6044E-05 3.0599E-05 3.5869E-05
7.0000E-01 1.9760E-05 2.3271E-05 2.7344E-05 3.2058E-05
8.0000E-01 1.7733E-05 2.0888E-05 2.4549E-05 2.8786E-05
9.0000E-01 1.5978E-05 1.8824E-05 2.2128E-05 2.5953E-05
1.0000E+00 1.4447E-05 1.7024E-05 2.0016E-05 2.3481E-05
temps = 54.7sec
D'abord il faut ouvrir le fichier :
> | fichier := fopen(`results.dat`,READ,TEXT): |
On saute la première ligne :
> | readline(fichier); |
On lit la date du calcul et on enlève les 2 premiers caractères
> | date_du_calcul:=readline(fichier):
date_du_calcul:=StringTools:-SubString(date_du_calcul,3..26); |
On saute 6 lignes:
> | for k to 6 do readline(fichier);od: |
On lit la valeur de pompe :
> | pump_1:=readline(fichier):pump_2:=StringTools:-SubString(pump_1,2..30); |
On cherche la valeur de la pompe en un nombre flottant :
> | pump_3:=sscanf(pump_2,"%a%a%s%f%a"); |
> | pump:=op(4,pump_3);pump; |
On saute 2 lignes
> | for k to 2 do readline(fichier);od: |
On lit le paquet restant en précisant le nombre de colonnes :
> | nr:=4:
zz:=readdata(fichier,nr+1); fclose(fichier); |
> | nt:=13: for k to nt do t[k]:=zz[k+1][1]:od; |
> | for k to nt do for kk to nr do y[k][kk]:=zz[k+1][kk+1];od;od; |
Vérification:
> | y[1][1]*10^6,y[1][2]*10^6,y[2][2]*10^6,y[nt][nr]*10^6; |
> | plot([seq([t[k],y[k][1]],k=1..nt)],tickmarks=[10, 5]); |
> | color1:=magenta:color2:=blue:color3:=red:color4:=green: |
> | for kk to nr do plot||kk:=plot([seq([t[k],y[k][kk]],k=1..nt)],tickmarks=[10, 5],color=color||kk);od: |
> | display({plot1,plot2,plot3,plot4}); |
> |