How to plot this function?

Answers (2)

It’s straightforward:
t = linspace(0, 99);
f = @(t) (exp(-t).*(exp(-floor(-t)) - 1))/(exp(1) - 1);
figure(1)
plot(t, f(t), '-pg')
grid
See the documentation for the plot function, and Function Basics (link) to understand the anonymous function.

4 Comments

Thank you. How do I reduce the scale?
My pleasure.
You can adjust the range of ‘t’ by changing the first two arguments of the linspace function, and the number of elements in the vector it returns by specifying that in the third argument. So to set ‘t’ to be a vector of 500 elements going from -5 to +10, you would define it as:
t = linspace(-5, 10, 500);
To adjust the range of the axes in the plot, see the documentation for the axis (link) function. It will allow you to set the limits for the axes. So to set the x-axis to go from 0 to 10 and the y-axis to go from 0.5 to 0.6, after the plot call, you would set the axis limits as:
axis([0 10 0.5 0.6])
Again, thanks a lot.
My pleasure.

Sign in to comment.

Try this:
t = linspace(-4, 15, 1000);
y = (exp(-t) .* (exp(-1) .^ floor(-t) - 1)) ./ (exp(1) - 1);
plot(t, y, 'LineWidth', 2);
grid on;
fontSize = 20;
xlabel('t', 'FontSize', fontSize);
ylabel('y', 'FontSize', fontSize);
ax = gca
ax.YAxisLocation = 'origin'
ax.XAxisLocation = 'origin'

1 Comment

Thanks a lot. Seems it is periodic as I hoped.

Sign in to comment.

Tags

Asked:

on 28 Jan 2017

Commented:

on 30 Jan 2017

Community Treasure Hunt

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

Start Hunting!