/ / Matlab string to double(str2double)-matlab、casting、double

Matlabの文字列を2倍にする(str2double) - matlab、casting、double

私はその金融アプリケーションを構築しようとしていますMatlabを使用して経済的なデータを処理します。ロードしたいファイルはcsvファイルにあり、この形式の「1222.3」の二重の数字です。これまでのところ、私はただ1つの次元で作業しており、データをベクターにロードできます。

問題は、データが文字列形式でベクターにロードされることです。すべてのベクトルをdouble形式に変更するには、str2double(vector)を使用しますが、ベクトルの数値は次のように終わります。

1222.3-> 1.222
153.4-> 0.1534

100ごとにベクトル(vector。* 100)を掛けようとしましたが、うまくいきませんでした。

何か案が?

回答:

回答№1は0

Matlabはいくつかの共通要因を自動的に引き出します数値ベクトル。これは何度も私を混乱させました。共通の要因を与える線は、特に大きなベクトルの場合、一番上に表示されるため見逃しやすいです。

指定した2つの数値でベクトルを定義すると、Matlabは次のように表示します。

MATLAB番号の書式設定

線で示されるように、それは1000の係数を引き出しました 1.0e+03 *.


回答№2の場合は0

ベクトル成分が十分に大きい場合、MATLABは指数形式で数値を出力します。

>> a = 1234.56

a =

1.2346e+03

数値は、ワークスペースブラウザーの科学表記法でも表示されます。

ワークスペースブラウザーの指数形式

を使用して、10進数形式で数値を印刷できます。 fprintf

>> fprintf("%5.3fn",a)
1234.560
>>

補足として、1.222 * 100≠1222 ...