incrementer une valeur dans un tableau matlab
Hors ligneKanwulf62 Le 15/05/2013 à 10:43 Profil de Kanwulf62 Configuration de Kanwulf62

 

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

 

 

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels