How do I convolve a periodic rect function with comb function

10 views (last 30 days)
p(x,y)=rect(2x/X)rect(2y/Y)⊗[comb(x/X)comb(y/Y)]
  2 Comments
Mohammad
Mohammad on 10 Jun 2022
p(x,y) is defining a periodic function, with period X in the x direction and period Y in the y direction.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 10 Jun 2022
Edited: Matt J on 10 Jun 2022
X=1; Y=2;
rect=@(s) 0<=s & s<=1/2;
r=@(s) rect(mod(s+1/4,1));
[x,y]=meshgrid(-3*X:0.01:+3*X, -3*Y:0.01:+3*Y);
P=r(x/X).*r(y/Y) ;
surf(x,y,P,'EdgeColor','none');
xlabel x, ylabel y, zlabel p(x,y)
axis equal

More Answers (1)

Matt J
Matt J on 10 Jun 2022
Another possibility is to download interpMatrix
Here is an example with a comb of sincs, rather than a comb of rects.
x=linspace(-3,+3,601); y=x;
kx=sinc( pi*x );
ky=sinc( pi*y*2 );
Ix=sum(interpMatrix(kx,'max',7,100),2);
Iy=sum(interpMatrix(ky,'max',13,50),2);
Name Size Bytes Class Attributes Ix 601x1 9632 double sparse Iy 601x1 9632 double sparse x 1x601 4808 double y 1x601 4808 double
surf(x,y , Ix.*Iy','EdgeColor','none')

Community Treasure Hunt

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

Start Hunting!