1

我正在尝试将 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.

有没有人有解决方案的想法?

4

1 回答 1

3

问题:
您正在使用构建二维char矩阵

['0';' ';'0.5';' ';'1';' ';'1.5';' ';'2';' ';'2.5';' ';'3';' ';'3.5';' ';'4']

您正在尝试定义具有 1 个字符(例如,'0')的行和具有 3 个字符(例如,'1.5')的行。

解决方案1:

将所有行转换为 thress 字符:

[' 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'}

该解决方案在泛化和良好实践方面更好。

于 2013-06-11T05:59:42.800 回答