subtract each element from the one before in a row matrix

16 visualizaciones (últimos 30 días)
Lama Hamadeh
Lama Hamadeh el 31 de Jul. de 2021
Editada: Cris LaPierre el 31 de Jul. de 2021
Hi all,
I have a row matrix defined as:
s = linspace(0,4,17);
I want to create a vector that its elements are the half subtraction of two subsequent elements of vector s. My attempt to do that is the follwoing:
for i = 1:length(s)-1
for j = 2:length(s)
Mid_s = (s(j)-s(i))/2;
end
end
However, the result I'm having is just one number. How can I have all numbers resulted from the "for" loop as an array/vector?
Thanks.

Respuestas (1)

Cris LaPierre
Cris LaPierre el 31 de Jul. de 2021
Editada: Cris LaPierre el 31 de Jul. de 2021
You are overwritting your variable Mid_s everytime, so you just end up with the very last number. Ch 13 of MATLAB Onramp will introduce you to writing for loops.
As a suggestion for improvement, you can accomplish this with a single for loop. Even better, you should look into the diff command.

Categorías

Más información sobre Matrix Indexing 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