我试图将y轴设置为从0-4开始每0.25个点有一个滴答,并且在0,0.5,1,1.5上有这些刻度的标签......
当我的数字中没有任何小数点但是在我添加0.5和1.5等时失败并出现错误时,此代码有效。
set(gca,'YTick',(0:.25:4), 'FontSize', 13)
set(gca,'YTickLabel',['0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4'])
这是matlab错误消息:
Error using generateWiresharkTracePlot (line 63)
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
有没有人有解决方案的想法?
答案 0 :(得分:3)
问题:
您正在使用
char
矩阵
['0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4']
您正在尝试使用1个字符(例如'0'
)和包含3个字符的行(例如'1.5'
)来定义行。
解决方案1:
将所有行转换为thress chars:
[' 0 ';' ';'0.5';' ';' 1 ';' ';'1.5';' ';' 2 ';' ';'2.5';' ';' 3 ';' ';'3.5';' ';' 4 ']
解决方案2:
使用单元格数组而不是2D字符矩阵(注意大括号):
{'0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4'}
这种解决方案在概括和良好实践方面更胜一筹。