Plot a function for x<0 and x >0

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 个评论

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.
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.
Thanks @Walter Roberson will keep this in mind the next time I code!

请先登录,再进行评论。

 采纳的回答

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 个评论

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);
yes! Thank you!
(Tho I need to learn what they mean haha)
@Simon Chan can you post another answer with the logical operators , so that I can accept the answer?
You can just simply accept this answer, glad it solve your question.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by