The assigned task is to make a triangular function with peak amplitude of 1 over -5 to +5 without any inbuilt functions.
My approach was to use the respective line equation for x>0 and x<0, but I didn't kow how to do it.
Any other approach to this problem is also appreciated.
Edit:- for some clarity, we are not supposed to use functoins like "Saw-tooth" in this case. while functions like ones,zeroes,plot are fine
The following is my code for the approach I have mentioned above, Any othe approaches are also welcomed
And does anyone know why the title,xlabel,ylabel are not being showed in the output?'
Thanks!
x = (0: 1:5);
k = (-5 :1 :0);
grid on;
g = (k/5) + 1;
y =(-x/5) + 1;
title('Task-2 Triangular Signal');
xlabel('Time');
ylabel('Amplitude');
plot(x,y,k,g);

4 Kommentare

Jan
Jan am 25 Dez. 2021
It is impossible to write any useful code in Matlab without using built-in functions. So please explain the problem with more details: what is allowed to use and what is forbidden?
As usual for homework questions: Show, what you have tried so far and ask a specific question.
RandomChikiBum
RandomChikiBum am 26 Dez. 2021
Bearbeitet: RandomChikiBum am 26 Dez. 2021
Jan, I have edited the post as asked, Can you help me now?
Thanks!
When you call plot() or most other graphics calls, if you have not called
hold on
or equivalent, then the first thing plot will do is locate the axes and cla() the axes.
Move the labels and title to after the plot call.
RandomChikiBum
RandomChikiBum am 26 Dez. 2021
Thanks @Walter Roberson will keep this in mind the next time I code!

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Simon Chan
Simon Chan am 26 Dez. 2021

1 Stimme

You may modify based on the following code and you should plot first and then set the grid,title,xlabel,ylabel,etc
x = -5:5;
y = 1-abs(x/5);
plot(x,y);
grid on;
title('Task-2 Triangular Signal');
xlabel('Time');
ylabel('Amplitude');

5 Kommentare

RandomChikiBum
RandomChikiBum am 26 Dez. 2021
I am sorry I forgot to mention we should also not use "abs" function
If I am not wrong both our methods are the same right, Like logic behind the code? ,Do you have any other method in mind?
Accept logical operation like the following?
y = 1 - ((x<0).*-x/5 + (x>0).*x/5);
RandomChikiBum
RandomChikiBum am 26 Dez. 2021
yes! Thank you!
(Tho I need to learn what they mean haha)
RandomChikiBum
RandomChikiBum am 26 Dez. 2021
@Simon Chan can you post another answer with the logical operators , so that I can accept the answer?
Simon Chan
Simon Chan am 26 Dez. 2021
You can just simply accept this answer, glad it solve your question.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by