1

当我在 MATLAB 中制作一个 1x10 矩阵时,例如a=[1:10],它返回:

a =
     1     2     3     4     5     6     7     8     9    10

即,它忽略从数字 1 到 9 的零位。我想要一个这样的矩阵:

a =
     01     02     03     04     05     06     07     08     09    10.
4

2 回答 2

4

试试这个:

>> a = 1:10
a =
     1     2     3     4     5     6     7     8     9    10

>> aa = cellstr(num2str(a(:),'%02d'))'
aa = 
    '01'    '02'    '03'    '04'    '05'    '06'    '07'    '08'    '09'    '10'

请注意,它现在是一个字符串元胞数组:

>> whos a aa
  Name      Size            Bytes  Class     Attributes

  a         1x10               80  double              
  aa        1x10              640  cell                
于 2012-06-23T22:00:36.430 回答
1

如果要以特定格式显示数字,可以disp为特定类型的数字重载该函数。在该函数中,您需要创建一个带有前导零的字符串。

如果要创建包含前导零数字的字符串,可以使用sprintf. 例如,如果你想拥有

year = 2012;
month = 6;
day = 1;

您可以创建一个带有前导零的文件名,如下所示:

fileName = sprintf('%i%02i%02i.dat',year,month,day)
fileName =
    20120601.dat
于 2012-06-23T17:03:18.513 回答