we define a vector A and create a new vector B containing the elements of A shifted one index to the left.
% As an example
A B
[ 1 2 3 4 ] [ 2 3 4 1 ]
[ 5 3 8 ] [ 3 8 5 ]
% My code
A = [1,2,3,4,5];
B = [];
for i = 2:length(A)
% A(1) = B(end);
B = [B A(i)];
end
disp(B);
% The program showed Array indices must be positive integers or logical values.
% i do not know how to improve my code
% Thank you all

 채택된 답변

Alan Stevens
Alan Stevens 2022년 3월 22일

0 개 추천

You define B as a null vector so it doesn't have an "end".
Try, simply
A = [1,2,3,4,5];
B = [A(2:end) A(1)]
B = 1×5
2 3 4 5 1

댓글 수: 2

Shuoze Xu
Shuoze Xu 2022년 3월 22일
Thank you.
But i want to do it by using a for loop.
Do you have any suggestion?
Shuoze Xu
Shuoze Xu 2022년 3월 22일
I think i know how to do it.
Thank you for your idea and help

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

릴리스

R2021b

질문:

2022년 3월 22일

댓글:

2022년 3월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by