0

を含むファイルがあります

1349542114842,2
1349542114872,4
1349542116037,1
1349542126680,5
1349542190738,3
1349542190775,4

最初の列はエポック時間です。

を使用してmatlabにロードしています

load('path to file')

ロードするとすぐに、最初の列が表示に変更されていることがわかります

1.349542114842000e+12

プロットするとき、軸の値はエポック時間であり、かなり歪んでいるため、これは非常に混乱します。何か案は ??(私が考えることができるハックは、プロット中に e+3 を減算することですが、それは私の問題を完全には解決しません)

4

3 に答える 3

3

最初の列が実際に負でない整数値で構成されている場合は、それをキャストしてuint64完全な精度を得ることができます。

format long % just for display purpose: 

% with double precision
a = [
    1349542114842,2
    1349542114872,4
    1349542116037,1
    1349542126680,5
    1349542190738,3
    1349542190775,4
    ];

これにより、

>> a

a =

  1.0e+012 *

   1.349542114842000   0.000000000002000
   1.349542114872000   0.000000000004000
   1.349542116037000   0.000000000001000
   1.349542126680000   0.000000000005000
   1.349542190738000   0.000000000003000
   1.349542190775000   0.000000000004000

uint64 へのキャスト:

% now with unsigned integer 64 precision
a = uint64([
    1349542114842,2
    1349542114872,4
    1349542116037,1
    1349542126680,5
    1349542190738,3
    1349542190775,4
    ]);

これにより、次の結果が得られます。

>> a

a =

        1349542114842                    2
        1349542114872                    4
        1349542116037                    1
        1349542126680                    5
        1349542190738                    3
        1349542190775                    4
于 2012-10-09T06:38:09.897 に答える
1

プロットの y 軸が完全な数値を表示していないことが問題である場合 (たとえば、など1.35e12ではなく)、次のツールを使用して形式を変更できます: http://www.mathworks.com/matlabcentral/fileexchange/36254-ticklabelformat13495421148401349542114870

例:

plot(1:10, (1:10) + 1e12);
ticklabelformat(gca,'y','%d')

結果:

ここに画像の説明を入力

于 2012-10-09T06:39:07.723 に答える