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 に答える