Create an alternating matrix

3 visualizaciones (últimos 30 días)
John Carroll
John Carroll el 30 de Nov. de 2022
Comentada: John Carroll el 30 de Nov. de 2022
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]
Thank you in advance.

Respuesta aceptada

DGM
DGM el 30 de Nov. de 2022
Editada: DGM el 30 de Nov. de 2022
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 comentario
John Carroll
John Carroll el 30 de Nov. de 2022
This works prefectly. I was completely unaware of the kron command. Thank you.

Iniciar sesión para comentar.

Más respuestas (1)

VBBV
VBBV el 30 de Nov. de 2022
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 comentario
John Carroll
John Carroll el 30 de Nov. de 2022
This works great as well. Thank you.

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by