# How can i solve?

1 view (last 30 days)
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.

darova on 31 Oct 2019
• I need to make a square signal on multiple levels.
What does it mean? HOw it should look like?
Liviu Iftime on 31 Oct 2019 Liviu Iftime on 31 Oct 2019 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 !

Liviu Iftime on 1 Nov 2019
Well Thank you! I'm kind of confussed on what is that. I have managed to make myself the code and it has 140 lines. It's funny that you have in your code 10 lines, but as i said I have no ideea what is that code.
THANK YOU ANYWAYS!
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 !