subtract each element from the one before in a row matrix

조회 수: 22 (최근 30일)
Lama Hamadeh
Lama Hamadeh 2021년 7월 31일
편집: Cris LaPierre 2021년 7월 31일
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.

답변 (1개)

Cris LaPierre
Cris LaPierre 2021년 7월 31일
편집: Cris LaPierre 2021년 7월 31일
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.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by