Why do my MATLAB plots always begin from zero?

8 views (last 30 days)
Michael
Michael on 30 Oct 2014
Answered: Image Analyst on 31 Oct 2014
suppose I have the following equation y = cos(n)
to make the discrete plot
figure
subplot(2,2,1);
n = linespace(-10,10,20);
y = cos(n);
stem(y)
xlabel('blah blah blah')
ylabel('y[n]')
title('blah')
grid on
When I save the above code in a MATLAB scipt and run it in MATLAB, my graphs always begin from zero, even when I explicitly specify in the the beginning endpoint be negative linspace(-10,10,50)
Why does it do this?

Answers (2)

Star Strider
Star Strider on 30 Oct 2014
The begin and end wherever you tell them to.
Change your stem call to:
stem(n,y)
and see if that improves your result.

Image Analyst
Image Analyst on 31 Oct 2014
Becuse you're not passing in the "X" values, which you call n. Also, did you know that you can call xlim() to have the axes start and stop wherever you want? Otherwise it tried to pick nice "round" numbers rather than weird fractional numbers. Try this:
n = linspace(-10,10,20);
y = cos(n);
stem(n, y, 'LineWidth', 3)
xlabel('n')
ylabel('cos(n)')
title('Stem of cos()')
grid on;
xlim([min(n), max(n)]);

Community Treasure Hunt

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

Start Hunting!