# Create an alternating matrix

조회 수: 5(최근 30일)
John Carroll 2022년 11월 30일
댓글: John Carroll 2022년 11월 30일
Hello. I am looking to create a 1xn matrix where I would enter a max value and a step size for the vector where each value alternates sign. For example I would enter a max value of 20 and a step size of 5 and the result would produce the following matrix;
[0 5 -5 10 -10 15 -15 20 -20]

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

### 채택된 답변

DGM 2022년 11월 30일
편집: DGM 2022년 11월 30일
There are many ways. Here's one.
% parameters
st = 5;
ev = 20;
A = [0 kron(st:st:ev,[1 -1])]
A = 1×9
0 5 -5 10 -10 15 -15 20 -20
Here's another:
B = repmat(0:st:ev,[2 1]).*[1; -1];
B = B(2:end)
B = 1×9
0 5 -5 10 -10 15 -15 20 -20
Here's another:
C = [0 repelem(st:st:ev,2)];
C(3:2:end) = -C(3:2:end)
C = 1×9
0 5 -5 10 -10 15 -15 20 -20
##### 댓글 수: 1표시숨기기 없음
John Carroll 2022년 11월 30일
This works prefectly. I was completely unaware of the kron command. Thank you.

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

### 추가 답변(1개)

VBBV 2022년 11월 30일
maxV = 20;
stepS = 5;
I = zeros(1,2*(maxV/stepS)+1);
I1 = 0:stepS:maxV;
I2 = -I1(2:end);
I(1:2:end) = I1;
I(2:2:end) = I2;
I
I = 1×9
0 -5 5 -10 10 -15 15 -20 20
##### 댓글 수: 1표시숨기기 없음
John Carroll 2022년 11월 30일
This works great as well. Thank you.

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

### 범주

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

R2022a

### Community Treasure Hunt

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

Start Hunting!