MATLAB函数作图问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:03:35
我是一个MATLAB初学者
遇到一个困惑,比如作函数图像y=x+2,
编写代码
x=0:0.1:2;
y=2+x;
plot(y)
得到了图像是直线,但是图上坐标与实际不符合(比如y=0时,x不等于-2,图上显示的在0到5之间),而x坐标轴与y轴的范围也相差很大(x是0到25,y是0到4),这是怎么回事
我在后面加上axis([0 5 0 5])限制坐标轴的范围,坐标范围是限制住了,可得出的直线斜率不是1了,是几乎平行于x轴,并且图上坐标与实际也不符合。这是怎么回事?
怎么才能得出斜率为1,并且正确横竖坐标范围在0到5之间
哪位大侠肯解释给我,最好附上代码,谢谢啊

y=0时x不等于-2是应为你的横做小范围限定了,因为你的x范围为0-2,所以y的显示范围为0-4.axis([0 5 0 5])最好改成axis([0 2 0 5])这样更便于观察。还有程序最后一句要把plot(y)改成plot(x,y)。

plot如果省略x是默认以y的序号作为x轴的
所以plot(y)相当于plot(1:length(y), y)相当于plot(1:21, 2:0.1:4)
你说的y=0时可能是你看错了 y轴下标应该是从2开始 y=2 时 x=1 在0~5之间
此时斜率为(4-2)/(21-1)=0.1 差不多就是平的
正确用法是plot(x,y)

x=0:0.1:2;
y=2+x;
plot(x,y)

plot(y)代表着以[1:length(y)]即1:21为横轴,而不是x=0:0.1:2为横轴,所以斜率较小,正确的为plot(x,y)
当横纵坐标不一致时,加一句axis equal 就可以保证横中坐标单位长度相等,一般若不设置的话,坐标轴会自动调整比例,
额,一楼的说的完全正确,刚才没看见才啰嗦了一下,就当我路过。。。。。。