for loop with a spread

1 view (last 30 days)
Matthew Worker
Matthew Worker on 10 Jun 2020
Edited: N/A on 24 Jan 2021
Hi guys,
I wanted to get an idea on how I should approach a problem. Say for example I have a 100x48 matrix and I want to get a new matrix that takes the 48th value substracts it by the 39th value and so on. So next would be the 47th value subtracted by the 38th value and for this to continue all the way until I reach the 1st value. This would be done for all rows. I believe at the end I would end up with a matrix of 100x39.
Any help would be truly appreciated it.

Accepted Answer

darova
darova on 11 Jun 2020
use for loop
[m,n] = size(A); % your matrix
A1 = zeros(m,n-9); % new matrix preallocation
for i = 1:n-9
A1(:,i) = A(:,n-i+1)-A(:,n-i-8);
end
  2 Comments
N/A
N/A on 11 Jun 2020
Thank you for your answer. It's extremly helpful.
darova
darova on 12 Jun 2020
my plesure

Sign in to comment.

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!