Bonjour à tous !

J'écris un programme qui ouvre plusieurs fichiers de données contenant des accélérations. En fait, j'ouvre un fichier, j'extrait le vecteur temps et el vecteurs temps et je subplot toute mes courbes (accélération en fonciton du temps) dans la mm figures.

Cependant voici mon soucis : matlab ne veut pas stocké mes vecteurs temps et accélération dans une matrice, voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
close all
clear all
 
format long
 
 
D=dir(':data\EQS*')
ND=length(D);
datadase=':prog_sort\data\';
 
for n=1:ND
    %%Ouverture de tous les fichier EQS
 
    foldr=D(n).name;
 
    % Retrieving folder and file information
    foldername = sprintf('%s\\%s',datadase,foldr);
    v(n)=load(foldername);
 
    disp(sprintf('Reading folder %s',foldername));
 
 
    s(n)=length(v(n).EQS.Station);
 
        for i=1:s(n)
            vect_time=v(n).EQS.Station(i).Comp(1).Raw.Dt*(0:v(n).EQS.Station(i).Comp(1).Raw.Nt-1);
            tmax(i)=vect_time(end);
        end    
 
        clear vect_time
 
        for i=1:s(n)
        %Extraction des composantes
        vect_time=v(n).EQS.Station(i).Comp(1).Raw.Dt*(0:v(n).EQS.Station(i).Comp(1).Raw.Nt-1);
       acc_X(i)=v(n).EQS.Station(i).Comp(1).Raw.Acc; %extraction composante X
        acc_Y(i)=v(n).EQS.Station(i).Comp(2).Raw.Acc; %extraction composante Y
        acc_Z(i)=v(n).EQS.Station(i).Comp(3).Raw.Acc; %extraction composante Z
 
 
 
        %plot des accélérations
        figure(n)
 
        subplot(s(n),1,i)
        plot(vect_time,x1)
 
        xlim([0 min(tmax)])
        ax=axis
        axis tight
 
 
        end
 
 
       delta=t0-minimum;
 
 
 
end
et voici mon message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
In an assignment  A(I) = B, the number of elements in B and I must be
the same.
 
Error in essai (line 40)
        acc_X(i)=v(n).EQS.Station(i).Comp(1).Raw.Acc; %extraction
        composante X
si je tape whos:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
  Name                 Size                Bytes  Class     Attributes
 
  AllStatsMatrix       0x0                     0  double    global    
  AllTimesMatrix       0x0                     0  double    global    
  D                   14x1                  9798  struct              
  ISPRINT              0x0                     0  double    global    
  ND                   1x1                     8  double              
  NR                   0x0                     0  double    global    
  WHICH_DATASET        0x0                     0  double    global    
  datadase             1x53                  106  char                
  foldername           1x82                  164  char                
  foldr                1x28                   56  char                
  i                    1x1                     8  double              
  n                    1x1                     8  double              
  outfldr              0x0                     0  double    global    
  s                    1x1                     8  double              
  tmax                 1x11                   88  double              
  v                    1x1               3412790  struct              
  vect_time            1x9494              75952  double              
  x1                   0x0                     0  double