Why do my MATLAB plots always begin from zero?

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?

Antworten (2)

Star Strider
Star Strider am 30 Okt. 2014

0 Stimmen

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 am 31 Okt. 2014

0 Stimmen

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)]);

Kategorien

Mehr zu Discrete Data Plots finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 30 Okt. 2014

Beantwortet:

am 31 Okt. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by