subtract each element from the one before in a row matrix
4 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
回答(1 个)
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!