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

1 次查看(过去 30 天)
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
  1 个评论
Rik
Rik 2021-6-18
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
Rik 2021-6-16
Shouldn't something like this work?
Hc = H((T*(ess-1))+1:end,((N*2)*(ess-1)+1:N);
  6 个评论
Rik
Rik 2021-6-18
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by