Ich möchte eine Funktion zeichnen [n] = x [n + 2]. Mein Problem ist, dass es nicht im richtigen Bereich plottet oder nicht einmal die Null-Sample-Punkte zeichnet.
n = 1:6;
x = 1:1:8;
f = figure;
subplot(1,2,1)
stem(n, x(n));
axis([-3,8, 0, 7]);
xlabel("n");
ylabel("x[n]");
title("Subplot 1")
subplot(1,2,2)
stem(n, x(n + 2));
xlabel("n");
ylabel("y[n]");
title("Subplot 2")
Wie ändere ich die Variablen n oder x, um die richtige Darstellung zu erhalten? Am Ende sollte es so aussehen:
Antworten:
1 für die Antwort № 1Sie verwechseln das Konzept der Indizes mit Ihrer abhängigen Variablen. Sie sollten eine Funktion konstruieren x
was eine Eingabe transformiert n
Verwenden Sie die Beziehung, die Sie kennen
function y = x(n)
% Set all outputs to 0
y = zeros(size(n));
% Replace the values that fall between 0 and 6 with their same value
y(n >= 0 & n <= 6) = n(n >= 0 & n <= 6);
end
Dann sollten Sie diese Funktion eine Reihe von übergeben n
Werte zu bewerten.
nvalues = -3:8;
yvalues = x(nvalues);
stem(nvalues, yvalues)
Sie können auch eine Umwandlung auf die Anwendung anwenden n
Werte
nvalues = -3:8;
yvalues = x(nvalues + 2);
stem(nvalues, yvalues)