MATLAB のフォーマット long、フォーマット short、eng ...などについては知っています。ただし、short と long は常に定義済みの小数点以下の桁数と指数を表示します。たとえば、format bankは常に小数点以下 2 桁を表示します。
f8.3 --> 1234.678 のように、明示的な形式を「fortran の方法」で配置するオプションはありますか?
小数点以下 4 桁の数値を表示し、残りを小数点以下で指数なしで表示する方法を探しています。
MATLAB のフォーマット long、フォーマット short、eng ...などについては知っています。ただし、short と long は常に定義済みの小数点以下の桁数と指数を表示します。たとえば、format bankは常に小数点以下 2 桁を表示します。
f8.3 --> 1234.678 のように、明示的な形式を「fortran の方法」で配置するオプションはありますか?
小数点以下 4 桁の数値を表示し、残りを小数点以下で指数なしで表示する方法を探しています。
必要なタイプのグローバル形式を指定する方法がわかりません。 sprintf('%15.4f', x)
またはnum2str(x, '%15.4f')
、毎回明示的に呼び出すことを気にしない場合は、探していることを行います。
ドキュメントによると、数値をフォーマットすることができます。
また、フォーマットも十分に文書化されています。
2 つの簡単な解決策があります。
sprintf関数を使用する:
str = sprintf('%.4f', myNumber);
はるかに強力な Java ベースの書式設定を使用します (詳細情報):
str = char(java.text.DecimalFormat('#.0000').format(myNumber));
私が思いつくことができる最も近いものは次のとおりです。
format bank
E は表示されず、小数点以下 2 桁になります。
読んでみる
help format
そこで他のオプションを探します(私はもうMatlabを使用していません...フリーソフトウェアに切り替えました:))
前述のmtrwのようにsprintfとnum2strを使用します。sprintf()
さまざまなタイプの複数のスカラー引数を対象としています(行列を使用して機能しますが、実際には明確な方法ではありません)。num2str()
単一のマトリックスで使用するためのものです。