How do I convolve a periodic rect function with comb function

12 ビュー (過去 30 日間)
Mohammad
Mohammad 2022 年 6 月 10 日
コメント済み: Mohammad 2022 年 6 月 10 日
p(x,y)=rect(2x/X)rect(2y/Y)⊗[comb(x/X)comb(y/Y)]
  2 件のコメント
Mohammad
Mohammad 2022 年 6 月 10 日
p(x,y) is defining a periodic function, with period X in the x direction and period Y in the y direction.
Mohammad
Mohammad 2022 年 6 月 10 日
Now I need to plot p (x,y)

サインインしてコメントする。

採用された回答

Matt J
Matt J 2022 年 6 月 10 日
編集済み: Matt J 2022 年 6 月 10 日
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
  1 件のコメント
Mohammad
Mohammad 2022 年 6 月 10 日
Thanks you so much,
and also what should I do for Fourier transform of p ?

サインインしてコメントする。

その他の回答 (1 件)

Matt J
Matt J 2022 年 6 月 10 日
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')

カテゴリ

Help Center および File ExchangeAssembly についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by