Multiply and shift ?
Show older comments
I would like to have a code that can generate the maltiplication for x after shifting them many time
x=[1 2 4 1 3 4 5 1 3]
I would like to have a loop that can generate the autocorrlation for x with itself.
to illustrate;
x*x
R(1)=sum([1 2 4 1 3 4 5 1 3]*[1 2 4 1 3 4 5 1 3])/Length(x)
R(2)=sum([ 2 4 1 3 4 5 1 3]*[1 2 4 1 3 4 5 1 ])/Length(x-1)
and so forth until the R(N) computed
Answers (1)
R = ifftshift(xcorr(x,'unbiased'))
3 Comments
Matt J
on 29 Mar 2019
Or, if you don't have the Signal Processing ToolBox,
e=ones(size(x));
R=ifftshift( conv(x,flip(x))./conv(e,e) );
Willim
on 30 Mar 2019
The differences I see are super-small.
x=[1 2 4 1 3 4 5 1 3];
e=ones(size(x));
R1 = ifftshift(xcorr(x,'unbiased'));
R2=ifftshift( conv(x,flip(x))./conv(e,e) );
>> difference=max(abs((R1-R2)))
difference =
3.5527e-15
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!