MATLAB Answers

# Write a MATLAB program to sketch the following discrete-time signals in the time range of –10 ≤ n ≤ 10. Please label all the graph axes clearly. If the sequence is complex, plot the magnitude and angle separately. i) x(n) = u(n) – u(n – 3)

2 096 views (last 30 days)
Superman on 15 Sep 2015
Commented: Bhargav Jyoti Saikia on 27 Mar 2021 at 10:57
n=-10:10;
u(1:21)=ones(1,21); %creates a unit step sequence for u(n)
%how to write a delayed version of sequence i.e for u(n-3) ?
##### 1 CommentShowHide None
Ayça Nur Genç on 17 Mar 2021 at 13:14
n=-10:10;
u(1:21)=ones(1,21);

Sign in to comment.

### Answers (3)

Aliya Patel on 23 Nov 2018
t = (-10:1:10)'; %%Can change the interval time by replacing 1 with 0.1
step1 = t>=0; %% For u[n]
step2 = t>=3 %%For u[n-3]
x=step1-step2
plot(t,x) %%scatter can be used instead of plot
xlabel('time');
ylabel('amplitude');
title('x(n)=u(n)-u(n-3)');
##### 1 CommentShowHide None
Satadru Mukherjee on 21 Mar 2020
This is wrong , your code is not taking care of the time index :-/

Sign in to comment.

Satadru Mukherjee on 21 Mar 2020
Edited: Walter Roberson on 21 Mar 2020
n1=-10:10;
x=(n1>=0);
n2=n1+3;
y=x;
u=min(min(n1),min(n2));
t=max(max(n1),max(n2));
r=u:1:t;
z1=[];
temp=1;
for i=1:length(r)
if(r(i)<min(n1) || r(i)>max(n1))
z1=[z1 0];
else
z1=[z1 x(temp)];
temp=temp+1;
end
end
z2=[];
temp=1;
for i=1:length(r)
if(r(i)<min(n2) || r(i)>max(n2))
z2=[z2 0];
else
z2=[z2 y(temp)];
temp=temp+1;
end
end
z=z1-z2;
subplot(3,1,1);
stem(r,z1);
xlabel('Time sample');
ylabel('Amplitude');
title('First signal');
subplot(3,1,2);
stem(r,z2);
xlabel('Time sample');
ylabel('Amplitude');
title('Second signal');
subplot(3,1,3);
stem(r,z);
xlabel('Time sample');
ylabel('Amplitude');
title('Signal after Subtraction');
##### 5 CommentsShowHide 4 older comments
Bhargav Jyoti Saikia on 27 Mar 2021 at 10:57
Thank you very much. This program gave a clear idea as to how to implement these functions. Took little time to understand but after little debugging got the idea. There might be easier way or easier to understand simple method to achieve the same functionality.

Sign in to comment.

shreedevi Bovi on 25 Jan 2021
Using MATLAB command, find the energy of the given signal and compare the results with analytical calculations. 𝒙[𝒏] = { 𝒏, 𝟎 ≤ 𝑛 < 5 𝟏𝟎 − 𝒏, 𝟓 ≤ 𝑛 ≤ 10 𝟎 , 𝒐𝒕𝒉𝒆𝒓𝒘𝒊𝒔𝒆
##### 1 CommentShowHide None
Walter Roberson on 25 Jan 2021
No, that is not a correct solution to Mohammad's question.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!