Bonjour,
J'ai une matrice de données remplie de 0 ou de 0.2. J'aimerai que matlab me sorte pour chaque colonne la somme des valeurs successives (delta) des 0.2. Exemple : col1 = 0 0.2 0.2 0 0 0.2 0.2 0.2 ; result_col1= 0.4 0.6 etc. J'ai écrit un script qui marche très bien qui me calcule ce que je veux sans problème (cf. dessous). Premier petit souci : comment faire en sorte que mon script passe à la colonne d'après et crée une seconde colonne correspondante dans mon fichier résultat (ici d) et ainsi de suite jusqu'à finir ma matrice ?
Et ensuite, ce que j'aimerai c'est ajouter une règle disant que "si tu vois moins de cinq zéros successifs tu l'ignores, tu ne remets pas ton compteur à zéro pour le calcul du prochain delta". Dans le script ci-dessous, le calcul d'un delta s'arrête dès qu'il voit un 0 après un 0.2.
Merci d'avance pour votre aide.
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 T = importdata('data.xls') T= T.Feuil1; d(1,:) = zeros(1,size(T,2)); j=1; for individu=1:size(T,2) for i=1:size(T,1); if T(i,individu)== 0.2 || any(T(1:i))==0 d(j,individu) = d(j,individu)+T(i,individu); elseif T(i)==0 && T(i-1)== 0.2 j= j+1; d(j,individu) = 0; end end j=1; end
Partager