How to build a graph using stem for a given equation?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Voss
am 16 Mär. 2024
Bearbeitet: Voss
am 16 Mär. 2024
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
2 Kommentare
Weitere Antworten (1)
Torsten
am 16 Mär. 2024
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);
Siehe auch
Kategorien
Mehr zu Stem Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!