Change matrix bits depending on the rate (Matlab)
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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'.
0 comentarios
Respuesta aceptada
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
Jan
el 15 de Mzo. de 2021
Thanks for the explanation. It is not trivial to communicate with persons from different cultural regions.
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!