How can i solve?
2 views (last 30 days)
Show older comments
Liviu Iftime
on 31 Oct 2019
Commented: Shubham Gupta
on 3 Nov 2019
Hello, I'm new to matlab. I kind of like it and i have a project at university based on matlab. I'm kind of bad at programming but i want to learn.
So i have the following exercise to solve:
I need to make a square signal on multiple levels.
The period of every signal is 0.25 s and i have the following levels:
a) {-1,1}
b) {-3,-1,1,3}
c) {-5,-3,-1,1,3,5}
d){-7,-5,-3,-1,1,3,5,7}
I m sorry if this aren't the rules of the website but i'm kind of desperate. If someone can solve the d) {-7,-5,-3,-1,1,3,5,7} so i can inspire from that.
6 Comments
Accepted Answer
Shubham Gupta
on 1 Nov 2019
Below code worked for me :
rng default
tsim = 0:0.002:10; % simulation time
Amp = {-7,-5,-3,-1,1,3,5,7}; % Amplitudes
dt = 0.25; % sample time
randAmp = [Amp{floor(length(Amp)*rand(tsim(end)/dt,1))'+1}]; % randomize amplitude over simulation time
func = @(t)0; % initialize function
for i = 1:length(randAmp)
func = @(t)func(t)+((t-dt*(i-1))*(t-(dt-1e-10)*i)<=0)*randAmp(i); % check where 't' lies and decide amplitude accordingly
end
plot(tsim,arrayfun(func,tsim)) % plot the results
Let me know if you have doubts !
2 Comments
Shubham Gupta
on 3 Nov 2019
I am glad I could help. If you can tell me which part of the code you didn't understand, maybe I can help you understand in more detail. Also if it solves the problem for you, you can consider to accept the answer cheers !
More Answers (0)
See Also
Categories
Find more on Signal Processing Toolbox 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!