J'ai un tableau de tailles fixes dans Matlab. Quand je veux insérer un nouvel élément, je fais ce qui suit: p>
Index-1 Code> --- SHIFT DE GAUCHE. LI>
- Le nouvel élément sera inséré à la place du dernier élément qui devient vide en déplaçant les éléments. li>
ol>
Je voudrais le faire sans utiliser de boucles. P>
3 Réponses :
Je ne suis pas sûr de comprendre votre question, mais je pense que vous voulez dire ceci: qui insérera la variable (ou la matrice) laissez-moi savoir si cela fonctionne pour vous! p> Ceci prendra tous les éléments du 2e au dernier au dernier de newelem code> après la position POS code> dans le tableau A code>. p> A code> et ajouté votre newelem < / code> variable (ou tableau) à la fin. p> p>
Pour vous débarrasser du premier élément, vous devez avoir besoin [A (2: pos) ... code>.
@gnovice Je sais, la question n'était pas très difficile comme une phrase longue longue, David Heffernan Code> corrigé. Voir ma réponse mise à jour.
Le La fonction Crédit est une autre solution:
b = raccordement (A, décalage) code> transforme de la circulaire dans la matrice,A code>, pardécalage code> éléments.Shiftsize sur CODE> est un vecteur de scalaires entier où l'élémentN code> spécifie la quantité de décalage pour lan code> -th dimension du tableauA code>. Si un élément dedéfirsize code> est positif, les valeurs deA code> sont décalées (ou vers la droite). Si c'est négatif, les valeurs deA code> sont décalées (ou vers la gauche). S'il est 0, les valeurs de cette dimension ne sont pas décalées. P> BlockQuote>Exemple: P>
Décalage circulaire de la première dimension des valeurs de 1 et deuxième dimension à gauche par 1. P>
A = [ 1 2 3;4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 B = circshift(A,[1 -1]); B = 8 9 7 2 3 1 5 6 4
Simplement, supprimez la première valeur de la matrice et appendez le nouveau à la fin. Exemple numérique P> A = [1 2 3 4];
A(1) = [];
A = [A 5];
Êtes-vous en train de déplacer le tableau entier i> à la gauche ou juste une partie de celui-ci?