Adds one element in vector from another, by position in array

3 visualizaciones (últimos 30 días)
Say I have a vector 'x' that is [1:100], and I want to create a function that creates a new vector 'y' that is the sum of x(n+2)+x(n+3) at each position (n) of x (beginning at 1 and moving through the vector). What would this function look like?
This is my attempt at the function, but it does not work
for i=1:size(x)
y(i) = [x(i+2)+x(i+3)]
...
end
Thank you for any help!

Respuesta aceptada

Stephen23
Stephen23 el 23 de Dic. de 2020
x = 1:100; % superfluous square brackets removed.
y = x(3:end-1)+x(4:end) % the MATLAB way.
y = 1×97
7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65

Más respuestas (1)

Walter Roberson
Walter Roberson el 23 de Dic. de 2020
y = x((1:end-3)+2) + x((1:end-3)+3)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by