matlab数组维度串联不一致

a=randi(100,1,50);
pjz=mean(a);
bzc=std(a);
str=['平均值:' num2str(pjz);'标准差:' num2str(bzc)];


pjz=50
bzc=50
str=['平均值:' num2str(pjz);'标准差:' num2str(bzc)];

这两个,为什么上面就会被提示数组维度串联不一致,下面那个就没问题呢?有啥区别啊,不过就是第二个是直接赋值而已啊。如果必须用第一种的话应该怎么改呢??可能是我初学太蠢的缘故,谢谢大家解答!

>> num2str(pjz)

ans =

44.5

>> num2str(bzc)

ans =

29.7577

这里长度不一样


改成这样就可以

a=randi(100,1,50);
pjz=mean(a);
bzc=std(a);
str=['平均值:' num2str(pjz,'%04d'); '标准差:' num2str(bzc,'%04d')];