Why is plot(x,y=0) not giving a line at y=0?

41 次查看(过去 30 天)
I am trying to plot a function with a line through y=0 too.
I wrote this code:
x=0:0.01:10*pi;
plot(x,2*sin(x).*exp(-x/4));
hold on
y=0;
plot(x,y)
This is only giving me a curve and no line through y=0.
I am getting the y=0 line with this code:
x=0:0.01:10*pi;
plot(x,2*sin(x).*exp(-x/4));
hold on
y=zeros(length(x));
plot(x,y)
So what is happening with the pervios code? Doesnt y=0; make any sense here?

采纳的回答

madhan ravi
madhan ravi 2019-4-4
编辑:madhan ravi 2019-4-4
Stephen’s answer is the way I would do it but the explanation for the not satisfactory result of your code:
y=0;
You create a scalar and you try to plot it with x which is vector, it doesn't work like that in MATLAB you should have done
plot(x,zeros(size(x))) % this creates zeros as same size as x.

更多回答(1 个)

Stephan
Stephan 2019-4-4
编辑:Stephan 2019-4-4
Hi,
no need for this - since you are using R2018b you can take advantage of the yline function:
x=0:0.01:10*pi;
plot(x,2*sin(x).*exp(-x/4))
yline(0,'r--');
Best rregards
Stephan

标签

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by