How can I plot a comb function?
78 次查看(过去 30 天)
显示 更早的评论
Hello,
A comb function is an array of delta functions spaced equally. I want to plot a function like this. F(x)= comb(2x)*sinc(50x).sinc^2(x). I could manage the sinc and the sinc^2. But I don't understand how I can plot the comb function which is a summation of deltas from -inf to +inf
0 个评论
采纳的回答
Wayne King
2012-10-29
编辑:Wayne King
2012-10-29
You can simply create a discrete-time (Kronecker delta) impulse and repeat that. For example:
x = 0:(2*pi)/1000:pi-(2*pi)/1000;
diraccomb = zeros(size(x));
diraccomb(1) = 1;
diraccomb = repmat(diraccomb,1,10);
xnew = 0:(2*pi)/1000:(5000*(2*pi)/1000)-(2*pi)/1000;
The above is a Dirac comb spaced at pi. You can easily modify for any sampling grid or period.
0 个评论
更多回答(4 个)
Image Analyst
2015-1-9
You can use stem() to make a plot that looks like a comb function. See the help.
stem(ones(1,10), 'LineWidth', 2)
ylim([0, 2]);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/172845/image.jpeg)
0 个评论
Pavan Kumar
2013-8-1
Hii Wayne..
I want to plot the comb function but unable to do so..
Could you send me the code for it.
Thanking you
0 个评论
Li
2015-1-9
%Hi, Poonam, maybe you can try this one, too.
clc
clear all
numx = 501;
xmax = 5;
x = linspace(-xmax,xmax,numx);
Delta_X = 0.8;
% sample_x = abs(rem(x,1)); sample = zeros(1,numx);
for j=1:numx
R = abs(rem(x(j)+xmax,Delta_X));
if R == 0;
sample(j) = 1; % the amplitude can be adjusted
end
end
plot(x,sample)
axis tight
0 个评论
suketu vaidya
2020-11-8
function taska
h = 1;
x = -pi:0.01:pi;
d = 50;
y0 = -1;
c1=(y0-(d^2/(d^2+1)));
y=@(x)c1*exp(-diff(x))+d*(sin(x)/(d^2+1))+d^2*(cos(x)/d^2+1);
plot(x,y(x));
end
i am not able to plot this graph
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!