Tracer des lignes verticales à un certain moment
Je veux tracer une ligne à un certain "x" (étant un scalaire) la valeur de sorte que chaque seconde, une ligne verticale avec certaines valeurs seront tirés. Je sais qu'une façon de tracer une ligne verticale (sans tenir compte du temps) est de déclarer un vecteur comme:
y=0:0.01:5;
ou quelque chose comme:
y=3:0.01:6;
et écrire plot(x,y);
Aussi, j'ai fait "d'animation" des parcelles à l'aide de la "pause" paramètre mais je ne sais pas comment faire dans ce cas. Merci pour votre aide.
- qu'est-ce que "x"? Comment puis-je copier passé ur exemple pour voir ce que ça marche?
Vous devez vous connecter pour publier un commentaire.
Un autre moyen que je peux suggérer, c'est d'utiliser
plot
en combinaison avechold on
. Avecplot
, vous ne spécifiez deux points où chaque point a la mêmex
valeur, mais lay
valeur peut changer à tout ce que vous voulez. Lorsque vous dessinez à l'aide de points deplot
, le comportement par défaut est qu'une ligne est tracée entre les points. Si l'on précise deux points ayant la mêmex
coordonner, mais différentsy
coordonnées, on aurait essentiellement pour effet de dessiner une ligne verticale entre ces points.Par exemple, étant donné que vous voulez avoir tous les "deuxième" ont une ligne verticale, nous pouvons faire quelque chose comme ceci:
C'est ce que nous obtenons:
Nous définissons deux tableaux de 6 éléments où
ystart
désigner le départy
point etyend
désigner la finy
point. Nous pondre une nouvelle figure, l'utilisationhold on
de tracer plusieurs lignes sur le même graphique, puis d'utiliser unfor
boucle avecplot
afin que nous dessiner une ligne entre deux points:(x,y) = (idx, ystart(idx))
et(x,y) = (idx, yend(idx))
.idx
va de 1 à 6. Évidemment, vous pouvez modifier l'emplacement d'où lax
valeurs sont tracées en spécifiant un autre tableau... l'appelerx
:Ici, nous allons dessiner des lignes verticales à partir de
x = 0
jusqu'àx = 10
dans les étapes de 2. Le résultat serait à peu près les mêmes, mais lax
de valeurs différentes, ainsi que les endroits où les lignes verticales sont en cours d'élaboration.Il y a plusieurs façons de tracer des lignes verticales dans Matlab. La meilleure recommandation est la
line
fonction:Appeler autant de fois que vous le souhaitez.
vous donnera les propriétés de la ligne
Une autre façon est de
puis
va tracer une ligne verticale au point X0. Une autre chose que vous pouvez faire est de tracer une ligne à l'aide de la
line
fonction du point(X0, min(Y))
au point(X0, max(Y))
qui est la solution la plus élégante. Si vous essayez de créer un film, vous aurez besoin pour accéder aux propriétés de cette ligne à l'aide deh=line(X,Y)
. Pour déplacer la ligne à un nouveau poste, vous aurez pour définir les propriétés de cette ligne en appelantset(h, Property, value)
. Par exemple, dans votre film, vous avez besoin de le déplacer vers une nouvelle position de sorte que vous aurez défini cette propriété. De cette façon, par la variation minimale de données, vous pouvez déplacer une ligne ou montrer son accélération.