MATLAB 中 t=0:0.1:100; 为什么画出的图像的坐标不对呀

按照道理来说
t=0:0.1:100;
画出的图坐标应该终止于100.为什么画出的图是终止于1000

matlab仿真有时会出现错误,可以在窗口中输入“clear”清除历史试一下,或者重新打开窗口试试。如果不是matlab的问题,看一下程序中是不是有写错,还有一种可能,t=0:0.1:100的长度是1000,也就是如果你是用的length,那就会出现1000。具体是什么问题还是应该看到程序才能知道,你可以试试这些方法,如果不行,可以把源代码上传一下!追问

确实是用了length函数。。请问我该怎么修改,才能避免这种情况呢?

追答

t=0:0.1:100;
i=0:length(t);
plot(i,sin(i),'r')
这样最后就是1000,改成
t=0:0.1:100;
plot(t,sin(t),'r')
就是这样,就是不要用length,你改改看,不行我再帮你!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-04
你好,这个问题都不用实际做了,知道问题的所在了
你的横坐标用的不是t,而是t的标号,t有1000个值
故横坐标是1000了,该作t就好了
clear all;clc;
t=0:0.1:100;
y=t+1;
plot(y);
这样画,就是1000
clear all;clc;
t=0:0.1:100;
y=t+1;
plot(t,y);
这样就是100
第2个回答  2013-05-04
因为你的数据有1000个。
也就说明你用PLOT的时候没有用横坐标,于是就默认用你的数据序号代替。
相似回答