4

MATLAB のフォーマット longフォーマット shorteng ...などについては知っています。ただし、short と long は常に定義済みの小数点以下の桁数と指数を表示します。たとえば、format bankは常に小数点以下 2 桁を表示します。

f8.3 --> 1234.678 のように、明示的な形式を「fortran の方法」で配置するオプションはありますか?

小数点以下 4 桁の数値を表示し、残りを小数点以下で指数なしで表示する方法を探しています。

4

7 に答える 7

11

必要なタイプのグローバル形式を指定する方法がわかりません。 sprintf('%15.4f', x)またはnum2str(x, '%15.4f')、毎回明示的に呼び出すことを気にしない場合は、探していることを行います。

于 2009-11-19T00:05:39.883 に答える
5

ウェブサイトで利用可能なMatlabのドキュメントによると、使用できます

format shortG

出力の表示形式を n.4 に設定します。

于 2011-07-05T09:55:54.193 に答える
4

ドキュメントによると、数値をフォーマットすることができます。

また、フォーマットも十分に文書化されています。

于 2009-11-19T00:00:02.023 に答える
3

2 つの簡単な解決策があります。

  1. sprintf関数を使用する:

    str = sprintf('%.4f', myNumber);

  2. はるかに強力な Java ベースの書式設定を使用します (詳細情報):

    str = char(java.text.DecimalFormat('#.0000').format(myNumber));

于 2011-07-05T13:52:37.353 に答える
1

私が思いつくことができる最も近いものは次のとおりです。

format bank

E は表示されず、小数点以下 2 桁になります。

読んでみる

help format

そこで他のオプションを探します(私はもうMatlabを使用していません...フリーソフトウェアに切り替えました:)

于 2009-11-19T22:28:07.570 に答える
0

前述のmtrwのようにsprintfとnum2strを使用します。sprintf()さまざまなタイプの複数のスカラー引数を対象としています(行列を使用して機能しますが、実際には明確な方法ではありません)。num2str()単一のマトリックスで使用するためのものです。

于 2009-11-19T22:14:26.957 に答える