Plotting Discrete Time Functions

조회 수: 179 (최근 30일)
Bradley Johnson
Bradley Johnson 2020년 9월 22일
답변: Satyam 2024년 8월 5일
I need to plot 5 cos(π n /6 - π/2) as a discrete tim signal. But I am not getting the proper result.
n = [-5:0.001:5];
y = 5*cos(pi*(n/2)-(pi/2));
stem(n,y);
What am I missing from this code to get the discrete time signals?

답변 (3개)

Austin Holmes
Austin Holmes 2021년 11월 11일
The original poster asked for the discrete time signal not the continuous time signal. A discrete time signal just means sampling your continuous signal at discrete time intervals.
The simplest way this can be done is by increasing your step in n.
n = [-5:0.25:5];
y = 5*cos(pi*(n/2)-(pi/2));
stem(n,y);
The proper way to do this would be determining a sampling rate and implementing it in your code.

Freedom TSOKPO
Freedom TSOKPO 2020년 9월 23일
I've just began with Matlab and I don't even know the function stem.
But I think this code can do it
clear all; clc;
n = -5:0.001:5;
y = 5*cos((n-1)*pi/2); %5*cos(pi*(n/2)-(pi/2));
figure
% axis([-6 6 -4 4]);
plot(n,y);

Satyam
Satyam 2024년 8월 5일
t = -1:0.01:1;
impulse_continuous = @(t) t == 0;
unit_step_continuous = @(t) t >= 0;
unit_ramp_continuous = @(t) t .* (t >= 0);
exponential_continuous = @(t) exp(t);
sine_continuous = @(t) sin(2*pi*t);
cosine_continuous = @(t) cos(2*pi*t);
n = -10:10;
impulse_discrete = @(n) n == 0;
unit_step_discrete = @(n) n >= 0;
unit_ramp_discrete = @(n) n .* (n >= 0);
exponential_discrete = @(n) exp(n/10);
sine_discrete = @(n) sin(2*pi*n/10);
% Discrete Cosine Function
cosine_discrete = @(n) cos(2*pi*n/10);
% Plot Continuous Functions
figure;
subplot(3,2,1);
plot(t, impulse_continuous(t), 'LineWidth', 2);
title('Continuous Impulse Function');
xlabel('Time (t)');
ylabel('\delta(t)');
axis([-1 1 -0.5 1.5]);
grid on;
subplot(3,2,2);
plot(t, unit_step_continuous(t), 'LineWidth', 2);
title('Continuous Unit Step Function');
xlabel('Time (t)');
ylabel('u(t)');
axis([-1 1 -0.5 1.5]);
grid on;
subplot(3,2,3);
plot(t, unit_ramp_continuous(t), 'LineWidth', 2);
title('Continuous Unit Ramp Function');
xlabel('Time (t)');
ylabel('r(t)');
axis([-1 1 -0.5 1.5]);
grid on;
subplot(3,2,4);
plot(t, exponential_continuous(t), 'LineWidth', 2);
title('Continuous Exponential Function');
xlabel('Time (t)');
ylabel('e^t');
axis([-1 1 -0.5 3]);
grid on;
subplot(3,2,5);
plot(t, sine_continuous(t), 'LineWidth', 2);
title('Continuous Sine Function');
xlabel('Time (t)');
ylabel('sin(2\pi t)');
axis([-1 1 -1.5 1.5]);
grid on;
subplot(3,2,6);
plot(t, cosine_continuous(t), 'LineWidth', 2);
title('Continuous Cosine Function');
xlabel('Time (t)');
ylabel('cos(2\pi t)');
axis([-1 1 -1.5 1.5]);
grid on;
% Plot Discrete Functions
figure;
subplot(3,2,1);
stem(n, impulse_discrete(n), 'filled');
title('Discrete Impulse Function');
xlabel('n');
ylabel('\delta[n]');
axis([-10 10 -0.5 1.5]);
grid on;
subplot(3,2,2);
stem(n, unit_step_discrete(n), 'filled');
title('Discrete Unit Step Function');
xlabel('n');
ylabel('u[n]');
axis([-10 10 -0.5 1.5]);
grid on;
subplot(3,2,3);
stem(n, unit_ramp_discrete(n), 'filled');
title('Discrete Unit Ramp Function');
xlabel('n');
ylabel('r[n]');
axis([-10 10 -5 15]);
grid on;
subplot(3,2,4);
stem(n, exponential_discrete(n), 'filled');
title('Discrete Exponential Function');
xlabel('n');
ylabel('e^{n/10}');
axis([-10 10 -0.5 3]);
grid on;
subplot(3,2,5);
stem(n, sine_discrete(n), 'filled');
title('Discrete Sine Function');
xlabel('n');
ylabel('sin(2\pi n/10)');
axis([-10 10 -1.5 1.5]);
grid on;
subplot(3,2,6);
stem(n, cosine_discrete(n), 'filled');
title('Discrete Cosine Function');
xlabel('n');
ylabel('cos(2\pi n/10)');
axis([-10 10 -1.5 1.5]);
grid on;

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by