Change time scale of a discrete function by a factor?
Show older comments
%if
% input sequence
bits = [1,0,1,1,0,0,0,1];
% Mapping
for a=1:length(bits)
if bits(a) == 1
bit(a) = 5;
else
bit(a) = -5;
end
end
i = 1;
t = 0:0.01:length(bits);
for b=1:length(t)
if t(b) <= i
y(b) = bit(i);
else
y(b) = bit(i);
i = i+1;
end
end
plot(t,y);
I am trying to change the length of 1 bit from 1s to 1us which will change step from 0.01 to 1e-8 but it gives me an error and if I just plot it on 0 to 8e-6 without proper implementation it will only print the first value which is between 0 and 1. Any ideas on how to plot an array of length 8 on timescale 0 to 8e-8??
Answers (1)
Prakhar Jain
on 14 Nov 2018
0 votes
Hi Himanshu,
Your code look correct and even works for me without an error.
The plot is as shown below:

Also, the workspace variables are of proper size as you can see in below figure size of t and y:

Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!