# using parts of matrix with different sub-vectors (Matlab)

1 view (last 30 days)
Afluo Raoual on 15 Jun 2021
Commented: Rik on 18 Jun 2021
Dear members
I have a vector V divided on sub-vectors
And I have also a matrix H divided on sub-matrices
I want shifting the sub matrices at each time with the sub-vectors
Rik on 18 Jun 2021
I'm glad my answer helped you solve the problem. I'm less glad you decided to edit away parts of your question. I have put a copy of it below. Feel free to put it back the way it was.
using parts of matrix with different sub-vectors (Matlab)
Dear members
I have this vector V divided on sub-vectors:
And I have also this matrix H:
I have this parameters:
T=5, M=5, N=10
For the first part of the matrix which is in the green screen, I use the vector [V0 V1].
For the second part of the matrix which is in the orange screen, I use the vector [V1 V2].
For the third part of the matrix which is in the black screen, I use the vector [V2 V3].
It means for the first step I always work on the first N rows and N*2 columns. Then I shif the screen with M columns and N rows.
I tried to program that like this:
sz=numel(V);
q=sz/N;
for ess=1:q % q here = 3
if ess == 1
Hc = H(1:T*2,1:N*2); % Hc=H(1:10,1:20)
else if ess ==2
Hc = H(T+1:(T*2)+M,(T*2)+1:(T*2)+(N*2)); % Hc=H(6:15,11:30)
else
Hc = H((T*2)+1:end,(N*2)+1:end); % Hc=H(11:20,21:40)
end
But how can I program this loop in general way if I have a long vector V

Rik on 16 Jun 2021
Shouldn't something like this work?
Hc = H((T*(ess-1))+1:end,((N*2)*(ess-1)+1:N);
Rik on 18 Jun 2021
Since we were talking about rows and columns, and they are used to index the rows and columns I thought the names would be clear.