Change matrix bits depending on the rate (Matlab)

1 Ansicht (letzte 30 Tage)
Afluo Raoual
Afluo Raoual am 13 Mär. 2021
Kommentiert: Jan am 15 Mär. 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'.

Akzeptierte Antwort

Jan
Jan am 13 Mär. 2021
Bearbeitet: Jan am 13 Mär. 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 Kommentare
Afluo Raoual
Afluo Raoual am 13 Mär. 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 am 15 Mär. 2021
Thanks for the explanation. It is not trivial to communicate with persons from different cultural regions.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by