# Shifting columns in matrix Matlab

5 vues (au cours des 30 derniers jours)
Afluo Raoual le 12 Fév 2021
Modifié(e) : Afluo Raoual le 16 Mar 2021
Dear members,
I have a matrix in which its tril and triu are zeros
And I want to shift up its rows
How can I program it in Matlab please?
##### 3 commentairesAfficher 1 commentaire plus ancienMasquer 1 commentaire plus ancien
the cyclist le 12 Fév 2021
What is in the matrix locations that are "empty" in your top image of H. (An element of a numeric array cannot be empty.)
Can you upload the matrix H in a MAT file?
Afluo Raoual le 12 Fév 2021
@the cyclist The empty elements are replaced all by zero elements

Connectez-vous pour commenter.

### Réponse acceptée

the cyclist le 13 Fév 2021
Modifié(e) : the cyclist le 13 Fév 2021
Slightly simpler version of @Nora Khaled's idea. It will also generalize to an (N-1) X N array in a way that I believe makes sense, in case that is important.
[~,c] = size(H);
r = c/2;
M = zeros(r,c);
for i=2:2:c
j = i/2;
M(:,i-1:i) = H(j:j+r-1,i-1:i);
end
You don't really need to define r or j as a separate variable, but I think it is a bit clearer.
Also, if you did need this for large arrays, it is more memory-efficient to preallocate M as I did, rather than building it by continually appending.
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
Afluo Raoual le 13 Fév 2021
Thank you so much. It works

Connectez-vous pour commenter.

### Plus de réponses (1)

Nora Khaled le 12 Fév 2021
clear all;
clc
H=[0 0 0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0
1 1 1 0 0 1 0 0 0 0
1 0 0 1 1 0 0 1 0 0
1 1 0 0 1 1 1 0 0 1
0 0 1 1 1 0 1 1 1 0
0 0 0 0 0 1 0 0 1 1
0 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 0 1 1];
[~,c]=size(H);
j=0;
M=[];
for i=1:2:c
j=j+1;
M=[M H(j:j+4,i:i+1)];
end
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
Afluo Raoual le 13 Fév 2021
Thank you so much. It works

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Logical dans Help Center et File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by