2017-10-26 10 views
1

私はMATLABの新機能です。現在、MATLABでファイルをインポートして作業する方法を学んでいます。浮動小数点数の列を1つ含む「* .dat」ファイルをインポートしています。これらのファイルはMATLABの配列にC++コードから得たフィルタ係数です。コマンドウィンドウで出力を表示しているとき、最初の行は常に "1.0e-03 *"で、次にファイルの内容が続きます。私はそれが何を意味するのか知りたいですか?ワークスペースをチェックすると、配列は正しい数の入力を接続します。私のサンプルコードと出力の最初の数行は以下の通りです:コマンドウィンドウの出力に余分な行が表示される

コード: -

clear; clc; 

coeff = fopen('filterCoeff.dat'); 

A = fscanf(coeff, '%f');  

A 

fclose(coeff); 

出力: -

A = 

    **1.0e-03 *** <===== What does this mean? 

    -0.170194000000000 

        0 
    0.404879000000000 

        0 
    -0.410347000000000 

PS:私は、ファイルなどを読むために多くのオプションを発見しました。 textscan、fscanfなどがあります。どちらを使うのが最適ですか?

答えて

1

その後に表示されるすべての数字に適用される乗数です。たとえば、Aの最後のエントリが-0.410347ではなく、-0.410347e-3、つまり-0.000410347であることを意味します。

+0

ありがとうございます。私はそれを理解していないために気が気にしない。 – Preeti

0

Matlabの表示番号タイプだと思います。これは、それぞれの結果がその分だけスケールされていることを意味します。

format longg 
A 

表示内容を確認してください。他のオプションの形式については、ドキュメントを参照してください。

+0

出力が得られるのは、フォーマットが長い場合です。その正しい出力。私はちょうどフォーマットを理解するのに困っていた。 – Preeti

+0

@Preeti「フォーマット」はあなたの価値を変えません。それはまだ二重です。これは、matlabがコマンドウィンドウに表示する方法を制御するだけです。ロング/ショートは基本的に何桁の数字を表示するかです。余分なgは、科学的または工学的な表記法ではなく、固定小数点表記です。個人の好みに合わせてフォーマットを設定します。 –

+0

ok。今、私は分かる。デフォルトのフォーマットであっても、最後の数字を四捨五入して表示します。ワークスペースの行列で見ると、すべての桁を見ることができます。 – Preeti

関連する問題