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

2 Ansichten (letzte 30 Tage)
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!

Akzeptierte Antwort

James Tursa
James Tursa am 10 Jul. 2015
Bearbeitet: James Tursa am 10 Jul. 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

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by