Effacer les filtres
Effacer les filtres

Shift array bitwise and multiply with another array in matlab

2 vues (au cours des 30 derniers jours)
POKA
POKA le 29 Oct 2017
Commenté : KL le 29 Oct 2017
Hello All,
I have two arrays for i.e
x=[1,2,3,4];
y=[5,6,7,8];
I want to multiply y with x
and sum the results after
every bit shift excluding
first one.
So result would be in this
order
R1=70 % no bit shift
R2=64 % y= 8 5 6 7
R3=61 % y= 7 8 5 6
..... Till all bit shifted
And finally plot all
result.
How can I achieve this .
Please suggest .
Thanks all of you

Réponse acceptée

KL
KL le 29 Oct 2017
Modifié(e) : KL le 29 Oct 2017
use circshift
R = sum(x.*y)
R1 = sum(x.*circshift(y,1))
R2 = sum(x.*circshift(y,2)) % and so on
  2 commentaires
POKA
POKA le 29 Oct 2017
But for lengthy array say length of 1023 how to use it . shall I use loop
KL
KL le 29 Oct 2017
Yes, or you can let matlab run the loop in the background. For example,
shiftAmount = 0:size(y,2);
R = arrayfun(@(z) sum(x.*circshift(y,z)),shiftAmount)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by