作业帮 > 综合 > 作业

matlab t=1:100;用plot(t,0)作图 和用 plot(t,zeros(size(t)))一个为离散,一

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 09:12:10
matlab t=1:100;用plot(t,0)作图 和用 plot(t,zeros(size(t)))一个为离散,一个连续,请问是什么原因
谁能帮我解答,给出原因啊,特别是 plot(t,zeros(size(t)))做出的图为什么是一条直线
用plot函数括号里的两个值必须都是长度一样的向量,plot(t,zeros(size(t)))是正确的表达式,而plot(t,0)是不正确的,0是长度为一的向量.
其实用plot(t,zeros(size(t)))出来的看似连续其实是离散的,因为在只有在固定的t值才有y轴的值 (它只是把不同的点连了起来).你可以用stem(t,zeros(size(t)))就可以看出来.
”特别是 plot(t,zeros(size(t)))做出的图为什么是一条直线“ ——因为在每个t上的值都是0,就跟直流电一样,是一条直线.
再问: 首先谢谢你,回答得很仔细!我看了plot的帮助,发现plot(X,Y),有一种情况是X为标量,而Y为矢量的情况;但是没有X为矢量,Y为标量的情况,但是plot(t,0)照样可以做出图,我不知道其原因,是不是帮助没写详细?
再答: plot(t,0)做出的图就像你之前描述的,是“离散”,其实不是离散,只是很多的点,这些点是不正确的(我曾经做过教Matlab的助教,这些点是算不正确的画图方法),其实你想想看,如果你要画一条线(直线也好,曲线也好),是不是这条线上的每个点都有且仅仅有一个x 和y值?(这就代表的两个长度相等的矢量)。如果在同一x值上有多个y值,这个函数是不合法的,相反多个x值上有同一个y值,可以啦,但是Matlab不是很喜欢,所以还是要把y的标量变成矢量。