Change matrix bits depending on the rate (Matlab)

1 visualización (últimos 30 días)
Afluo Raoual
Afluo Raoual el 13 de Mzo. de 2021
Comentada: Jan el 15 de Mzo. de 2021
Dear members;
I have matrix of B*C dimensions.
and I have to write a program that verify if the final bits are '0' or '1'. If final bits are '0', the program change them to '1'.

Respuesta aceptada

Jan
Jan el 13 de Mzo. de 2021
Editada: Jan el 13 de Mzo. de 2021
[s1, s2] = size(A);
d = gcd(s1, s2);
n1 = s1 / d;
n2 = s2 / d;
vCol = n2:n2:s2;
for iCol = 1:numel(vCol)
iRow = (iCol - 1) * n1 + 1;
A(iRow:iRow + n1 - 1, vCol(iCol)) = 1;
end
Alternative - more Matlab'ish without loops:
sizeA = size(A);
n = sizeA ./ gcd(sizeA(1), sizeA(2));
idx = sub2ind(sizeA, 1:sizeA(1), repelem(n2:n2:s2, n1));
A(idx) = 1;
  4 comentarios
Afluo Raoual
Afluo Raoual el 13 de Mzo. de 2021
When someone help us, we appreciate its help using (Sir) to show our respect and greatful for him. But if other persons don't use this expression, it doesn't mean it's impolite. Sometimes saying "Thank you so much" is sufficent.
Jan
Jan el 15 de Mzo. de 2021
Thanks for the explanation. It is not trivial to communicate with persons from different cultural regions.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by