> 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;
 

Tuesday 09 January 2007    15:02:39 

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");
 

[0,
[0,
[0,
[0,
[0,
[0,
[0,
[0,
[0,
[0,
[0,
[0,
[0,
 

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);
 

 Sat Oct 7 15:05:33 2006 

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);
 

  Frequence pompe = 3340 cm-1 

On cherche la valeur de la pompe en un nombre flottant : 

> pump_3:=sscanf(pump_2,"%a%a%s%f%a");
 

[Frequence, pompe,  

> pump:=op(4,pump_3);pump;
 

3340. 

3340. 

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);
 

[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
[[0., 2.5000, 2.5050, 2.5100, 2.5150], [-.20000, 0.13355e-5, 0.15770e-5, 0.18578e-5, 0.21836e-5], [-.10000, 0.62234e-5, 0.73463e-5, 0.86515e-5, 0.10165e-4], [0., 0.16671e-4, 0.19672e-4, 0.23158e-4, 0....
 

> nt:=13: for k to nt do  t[k]:=zz[k+1][1]:od;
 

-.20000 

-.10000 

0. 

.10000 

.20000 

.30000 

.40000 

.50000 

.60000 

.70000 

.80000 

.90000 

1.0000 

> 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;
 

1.335500000, 1.577000000, 7.346300000, 23.48100000 

 

> plot([seq([t[k],y[k][1]],k=1..nt)],tickmarks=[10, 5]);
 

Plot 

> 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});
 

Plot 

>