Effacer les filtres
Effacer les filtres

Shifting Elements of a Vector to the right while deleting the last number

3 vues (au cours des 30 derniers jours)
I have a vector like this:
A = [1 2 3 4 5 0 0 0]
now, I want to shift the elements to the right (lets say beginning from 3), while eliminating the last digit and replacing the 3 with a zero.
desired outcome:
A = [ 1 2 0 3 4 5 0 0]
Is there an easy command to achieve this?
Thank you very much in advance!

Réponse acceptée

James Tursa
James Tursa le 10 Juil 2015
Modifié(e) : James Tursa le 10 Juil 2015
A = [1 2 3 4 5 0 0 0] % Original vector
p = 3 % index for first element to shift
z = 1 % number of spots to shift
n = numel(A)
A = [A(1:p-1) zeros(1,min(n-p+1,z)) A(p:n-z)]
A =
1 2 3 4 5 0 0 0
p =
3
z =
1
n =
8
A =
1 2 0 3 4 5 0 0

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by