Bonjour,
voilà mon problème: j'ai les variables suivantes
Et je souhaite dessiner un "chronogramme" qui vaut 1 pendant "largeur" puis 0 pendant "ecart" et ce "nbOccurences" fois. Pour l'instant j'y parviens par exemple avec les valeurs ci-dessus ==> voir l'image jointe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 largeur = 1; ecart = 6; nbOccurences = 5;
Le problème est que mon code ne fonctionne que pour les nombres entiers, alors que "ecart" et "largeur" peuvent être des nombres décimaux.
Voici mon code:
On voit que si ecart et/ou largeur sont décimaux, je me retrouve a donner des nombres décimaux en indice de mon vecteur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 longueurTotale = nbOccurences * (ecart + largeur); chronoData = zeros(1, longueurTotale); indice = 1; for i = 1:nbOccurences chronoData(indice:indice+largeur-1) = 1; indice = indice + largeur + ecart; end stairs(axesHandle, chronoData, 'b', 'LineWidth', 3);
Mon idée était de multiplier ecart et largeur afin qu'ils deviennent des entiers (par exemple 1.56 => 156) car la valeur elle même importe peu (seule la proportion entre ecart et largeur m'intéresse), mais je trouve ça un peu compliqué et il y a peut-être un moyen beaucoup plus simple d'obtenir ce chronogramme?
Merci d'avance pour votre aide.
Partager