How to build a graph using stem for a given equation?
6 次查看(过去 30 天)
显示 更早的评论
As I understand it, the program stumbles over calling the delta function and builds one point. How can I display the desired graph without making the code too heavy?
Main script:
a1=1.7;
b1=9;
subplot(221);
n1=0:20;
x1=a1*delta(n1-b1);
stem(n1, x1);
File delta function (its use is mandatory):
function [ d ] = delta( n )
if n == 0
d = 1;
else
d = 0;
end
end
0 个评论
采纳的回答
Voss
2024-3-16
编辑:Voss
2024-3-16
Your delta function makes d a scalar. Instead d should be the same size as n, with value 1 where n is 0 and value 0 everywhere else. If you can modify the delta function, do it.
a1=1.7;
b1=9;
% subplot(221);
n1=0:20;
x1=a1*delta(n1-b1);
stem(n1, x1);
function d = delta( n )
d = zeros(size(n)); % initialize d to be an array of 0 the same size as n
d(n == 0) = 1; % set d to 1 where n is 0
end
更多回答(1 个)
Torsten
2024-3-16
Since your delta function does not support array inputs, you must use something like
x1=a1*arrayfun(@(n1)delta(n1-b1),n1)
instead of
x1=a1*delta(n1-b1);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Stem Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!