Rea1Hassan 2023-02-16 17:56 采纳率: 100%
浏览 2992
已结题

【matlab】错误使用 vertcat 要串联的数组的维度不一致。

matlab绘制热力图,但是提示15行 “错误使用 vertcat,
要串联的数组的维度不一致。”

代码如下:


%Load data "bias10.mat".
load bias10

%Create a figure 
figure('DefaultAxesFontSize',16);
ax = gca;

%Create a heatmap
mat = bias{2}.*ones(61,144)+bias{3}'.*ones(61,144);
imagesc(mat);
c = colorbar;
colormap hot;
ylabel(c,'Speed(km/h)');
ax.XTick = [1,13,25,37,49,61,73,85,97,109,121,133,144];
ax.XTickLabel = ['00:00'; '02:00';'04:00';'06:00';'08:00';'10:00';'12:00';...
    '14:00';'16:00 ';'18:00';'20:00';'22:00';'23:50'];
xtickangle(45);
ax.YTick = [1,6,11,16,21,26,31,36,41,46,51,56,61];
ax.YTickLabel = ['08-01';'08-06';'08-11';'08-16';'08-21';'08-26';'08-31';...
    '09-05';'09-10';'09-15';'09-20';'09-25';'09-30'];
    
% Save the figure as "heat_map10.pdf"
set(gcf,'PaperSize',[6 4.5]);
set(gcf,'PaperPositionMode','manual');
set(gcf,'PaperPosition',[0 0 6 4.5]);
saveas(gcf,'heat_map10','pdf');


  • 写回答

4条回答 默认 最新

  • wan9zhi 2023-02-16 18:53
    关注

    这个错误通常是由于垂直串联(vertcat)的数组在维度上不匹配导致的。具体来说,在此代码中,可能是在以下行中某个地方出现了问题:

    ax.XTickLabel = ['00:00'; '02:00';'04:00';'06:00';'08:00';'10:00';'12:00';...    '14:00';'16:00 ';'18:00';'20:00';'22:00';'23:50'];
    ax.YTickLabel = ['08-01';'08-06';'08-11';'08-16';'08-21';'08-26';'08-31';...    '09-05';'09-10';'09-15';'09-20';'09-25';'09-30'];
    

    这些行试图将字符数组串联在一起,但是由于它们的维度不匹配,所以会导致错误。要解决此问题,可以将字符数组转换为单个字符串,然后使用大括号将它们放在一个单元格数组中。例如,将这些行更改为以下内容:

    ax.XTickLabel = {'00:00', '02:00', '04:00', '06:00', '08:00', '10:00', '12:00', ...
        '14:00', '16:00', '18:00', '20:00', '22:00', '23:50'};
    ax.YTickLabel = {'08-01', '08-06', '08-11', '08-16', '08-21', '08-26', '08-31', ...
        '09-05', '09-10', '09-15', '09-20', '09-25', '09-30'};
    

    这将创建一个单元格数组,其中每个元素都是一个字符串。这些字符串可以按预期方式传递给XTickLabel和YTickLabel属性,从而解决垂直串联错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 2月16日

悬赏问题

  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿