subtract each element from the one before in a row matrix

16 Ansichten (letzte 30 Tage)
Lama Hamadeh
Lama Hamadeh am 31 Jul. 2021
Bearbeitet: Cris LaPierre am 31 Jul. 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.

Antworten (1)

Cris LaPierre
Cris LaPierre am 31 Jul. 2021
Bearbeitet: Cris LaPierre am 31 Jul. 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.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by