How to Vecrorizing conditional vactor mapping problem?

1 visualización (últimos 30 días)
Dear, A is a binary vector its values correspond to the number of times to repeat the corresponding number drawn from the vector B. 0 value in A means copying value from B to C while 1 value in A means representing the corresponding value in B by 3 bits.
as an example: A=[0 1 0 0 0 1]; B=[0 1 0 1 0 0]; C=[0 0 0 1 0 1 0 0 0 0] Can we avoid using classical loop? Regards

Respuesta aceptada

Omar Ali Muhammed
Omar Ali Muhammed el 6 de Mzo. de 2021
r=A.*3;
r(r==0)=1;
t1=repelem(B,r);
t2=repelem(A,r);
t3=t1.*t2;
t3=dec2bin(t3)'
c=regexprep(t3,'111','001');
c=c-'0';
c(t2==0)=t1(t2==0)
Results:
c =
0 0 0 1 0 1 0 0 0 0
Is there any faster execution?

Más respuestas (0)

Categorías

Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by