Reformulation
Objectif incrementer une valeur dans un tableau
Je fais la lecture du fichier excel qui se presente de la forme suivante
1
|
2
|
3
|
13
|
5
|
6
|
222
|
336
|
21
|
3
|
4
|
13
|
6
|
7
|
223
|
336
|
3
|
4
|
5
|
13
|
7
|
9
|
224
|
336
|
4
|
5
|
6
|
2
|
8
|
10
|
225
|
336
|
5
|
7
|
12
|
3
|
9
|
12
|
226
|
336
|
6
|
8
|
1
|
13
|
10
|
13
|
227
|
336
|
7
|
9
|
3
|
13
|
11
|
14
|
228
|
336
|
Quand la 4eme colonne =1
J’incremente la 7eme colonne par z=z+50
Soit 50 la premiere fois puis 100 puis 150…
Et quand la 4 eme colonne different de 1 j’increment la colonne 7 par la derniere valeur de Z.
Exemple sa donne :
1
|
2
|
3
|
13
|
5
|
6
|
272
|
336
|
21
|
3
|
4
|
13
|
6
|
7
|
323
|
336
|
3
|
4
|
5
|
13
|
7
|
9
|
374
|
336
|
4
|
5
|
6
|
2
|
8
|
10
|
375
|
336
|
5
|
7
|
12
|
3
|
9
|
12
|
376
|
336
|
6
|
8
|
1
|
13
|
10
|
13
|
427
|
336
|
7
|
9
|
3
|
13
|
111
|
14
|
478
|
336
|
Pour mon code je fais une lecture du fichier qui s’appelle fic_conso qui fonctionne.
disp(['Lecture du fichier conso: 'fic_conso])
tic
fid = fopen(fic_conso);
[tab_conso,tab_conso_dim] = fscanf(fid, ['%d/%d/%d %d:%d:%d;%d;%d'] , [8 inf]);
tab_conso_dim=tab_conso_dim/8;
disp(['dim file:'num2str(tab_conso_dim)]);
tab_conso=tab_conso';
fclose(fid);
% Calcul d'un vecteur de temps decimal pour la conso en jour julian par rapport à la
% date_ref
day_conso=datenum(tab_conso(:,3),tab_conso(:,2),tab_conso(:,1),...
tab_conso(:,4),tab_conso(:,5),tab_conso(:,6))-date_ref;
toc
et ensuite l’objectif il y a un probleme
% Variable a incrementer
z=0
% Taille du tableau pour la boucle for
[m,n]=size(tab_conso)% objectif savoir le nombre de ligne dans mon fichier excel permet OK apparemment
fori=1:m
iftab_conso(i,4)==13% objectif pour la ligne correspondante je vais a la colonne 4
z=z+50
tab_conso(i,7)= tab_conso(i,7)+z % objectif incrementer la 7eme colonne
else
tab_conso(i,7)= tab_conso(i,7)+z
end
end
Ou bien repartir de 0 je ne voie pas de solution