Filter löschen
Filter löschen

Shift array bitwise and multiply with another array in matlab

2 Ansichten (letzte 30 Tage)
POKA
POKA am 29 Okt. 2017
Kommentiert: KL am 29 Okt. 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

Akzeptierte Antwort

KL
KL am 29 Okt. 2017
Bearbeitet: KL am 29 Okt. 2017
use circshift
R = sum(x.*y)
R1 = sum(x.*circshift(y,1))
R2 = sum(x.*circshift(y,2)) % and so on
  2 Kommentare
POKA
POKA am 29 Okt. 2017
But for lengthy array say length of 1023 how to use it . shall I use loop
KL
KL am 29 Okt. 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)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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