plot绘图时线形的设置问题
代码如下:(matlab版本7.1下运行)x=; y=sin(x); type=['*';'-';'o';'--'];
k=menu('直线类型','星号','实线','圆圈','虚线'); plot(x,y,type(k))
出现错误:
??? Error using ==> Untitled
Error using ==> vertcat
All rows in the bracketed expression must have the same
number of columns.
将type=['*';'-';'o';'--']改为type=['*';'-';'o';'-']后无错.搜索了下没找的相关资料,想问下怎么得到虚线图.
[ 本帖最后由 ChaChing 于 2009-12-25 13:10 编辑 ] 不配备的问题。
type 里面只有4个量。menu 里面有5个量。 那为什么将type=['*';'-';'o';'--']改为type=['*';'-';'o';'-'](这时type 里面4个量,menu 里面5个量)就没错了?
[ 本帖最后由 ChaChing 于 2009-12-25 13:03 编辑 ] 把 type=['*','-','o','--'] 里面的分号该成 逗号就可以了。
type 与menu 行 ,列 不匹配。 改了后没错误了,可是点画虚线画出来的却是实线.(可与plot(x,y,'--')画的虚线对比下).
[ 本帖最后由 ChaChing 于 2009-12-25 13:17 编辑 ] 再在图形界面上 手动调整。 最好不要出现这种歧义,两个变量的矩阵维数最好一致,要不都是4*1,要不都是1*5 type=['*';'-';'o';'--']
k=menu('直线类型','星号','实线','圆圈','虚线')
请问上面的线型语句能用于ezpot绘图时用吗?谢谢!!
回复 #8 mechanic05 的帖子
自己试试,应该可以的回复 8楼 mechanic05 的帖子
help下ezplot!是不可以的! 但可以藉由handle回传再定义!
回复 楼主 wondersoul 的帖子
这个问题, 楼主了解真正原因了吗?几位大牛可能未详细发现LZ的真正问题, 疏忽了LZ的真正原因!!
LZ的错误, 仅仅是type=['*';'-';'o';'--'];出问题!!
与menu毫无关系, 当然更无所谓行列及数量匹配问题!! 因为仅是个小概念, 个人打字又慢, 本想留着待网友发掘, 但担心个人还需重新热身, 就占去网友练习的机会了!
1.前三个符号为1*1, '--'为1*2, 当然无法type=['*';'-';'o';'--'], 而改成type=['*';'-';'o';':']即可以!
2.改成逗号type=['*','-','o','--'], 其实等同type='*-o--', 不是1*4, 而是1*5! type(4)='-'并不是'--'!
3.应该改成
x=; y=sin(x); type={'*';'-';'o';'--'};
k=menu('直线类型','星号','实线','圆圈','虚线'); plot(x,y,char(type(k))) x=; y=sin(x); type={'*';'-';'o';'--'};
k=menu('直线类型','星号','实线','圆圈','虚线'); plot(x,y,type{k})
注意plot中调用的时候一定要用{},如果用(),则调用的元素为cell类型,而用{}调用的元素为string类型! 回复 zhouyang664 的帖子
ls说的不错,不过,我觉得
条条道路通罗马,12#和13#的都对,只是个人的习惯不一样,有时候也不一定是不知道,只是一般就写其中一种而已,也可以用x=0:0.1:2*pi; y=sin(x); type={'*';'-';'o';'--'};
k=menu('直线类型','星号','实线','圆圈','虚线'); plot(x,y,feval(@(x)x{:},type(k))) 的确每个人的习惯可能不一样, 也不一定是不知道!
但只要是可以解决问题的, 互动交流学习也不错! 不是吗:handshake
还有个人对老帖的讨论, 抱持特别嘉许的看法, 因有在看资料~
另"@"为较新/後面的东东, 个人真的是较不熟:lol
页:
[1]