matlab用plot(x,y)画散点图,为什么只有十三个点 ?

附上数据
x=[1.79817986 2.275301 2.49715 2.79818 3.09921 3.275301 3.40024 3.49715 3.576331 3.70127 3.79818 4.09921 4.275301 4.40024 4.49715 4.70127 4.79818 4.974271 5.053452 5.092646 5.09921 5.19612 5.275301 5.49715 ]
y=[-15.9176 -9.897 -7.9588 -2.85335 0 1.868434 2.922561 3.862492 4.296877 4.710569 5.10545 5.296356 5.296356 5.296356 5.10545 4.910253 4.296877 3.750414 3.405234 2.922561 2.922561 2.411479 1.28916 -1.11035 ]

第1个回答  推荐于2017-12-15

   我的是正常的啊:

plot(x,y, 'or','MarkerSize',10);

又查了你的问题,可能是不恰当使用hold on/off造成的,建议贴上你的源程序,方便大家给你差错。

祝好。

追问

附上源程序
x5= xlsread('C:\Users\Administrator\Desktop\医电设计\实验报告\34\实验数据.xlsx','Sheet2','B27:N27');
y5=xlsread('C:\Users\Administrator\Desktop\医电设计\实验报告\34\实验数据.xlsx','Sheet2','B28:N28');
plot(x5,y5, 'ro');
axis([1.5 5.5 -30 6])
xlabel('角频率lg(w)/rad*s-1')
ylabel('幅度20*lg(A)/dB')

追答

你前面的从excel读取的时候有问题,
bcdef ghijk lmn B28:N28可不正好是13个,这个范围出错了,改改看吧。
祝好。

本回答被提问者采纳
第2个回答  2012-11-30
出现这个问题可能有2个原因;
1是你的x和y在前面已经赋过值了,而且数组长度就是13
2如不过上面原因,就是你的x和y输入的有问题,后面的数都没读进去
你运行一下,x、y看看究竟是几个数不就可以了。
第3个回答  2012-11-30
x=[1.79817986 2.275301 2.49715 2.79818 3.09921 3.275301 3.40024 3.49715 3.576331 3.70127 3.79818 4.09921 4.275301 4.40024 4.49715 4.70127 4.79818 4.974271 5.053452 5.092646 5.09921 5.19612 5.275301 5.49715 ];

y=[-15.9176 -9.897 -7.9588 -2.85335 0 1.868434 2.922561 3.862492 4.296877 4.710569 5.10545 5.296356 5.296356 5.296356 5.10545 4.910253 4.296877 3.750414 3.405234 2.922561 2.922561 2.411479 1.28916 -1.11035 ];
plot(x,y,'ro')
有24个点啊
你是不是对xy数据做了处理啊
第4个回答  2012-11-30

那就不知道你怎么回事儿了,我直接复制过去能画出来

相似回答