N

N[expr]

expr の値を数値で与える.

N[expr,n]

可能であれば n 桁精度で結果を与える.

詳細

  • expr にある数が厳密値または十分精度の高い数値ではないと,N[expr,n]は,指定された n 桁精度で結果を与えられないときもある.
  • N[expr,n]は,内部で n 桁以上の精度で計算を行う場合もある.
  • 内部処理で使われる補助的な追加桁数の最大値は$MaxExtraPrecisionで指定する.
  • 精度 n は十進数で与えられる.整数である必要はない.
  • n$MinPrecisionから$MaxPrecisionの範囲内になければならない.$MaxPrecisionは,Infinityに設定しても構わない.
  • n$MachinePrecisionより小さくてもよい.
  • N[expr]は,値が$MinMachineNumberから$MaxMachineNumberの範囲にある限り結果を機械精度の数で与える.
  • N[expr]N[expr,MachinePrecision]と等価である.
  • N[0]は機械精度で0.を与える.
  • Nは,ゼロではないすべての数を型RealまたはComplexに変換する.
  • Nは,評価する関数の持つすべての引数を数値形に変換する.ただし,関数がNHoldAll等の属性の頭部を持つ場合はその限りではない.
  • N[f[args]]:=valueN[f[args],n]:=value を使い,関数の数値的な値を定義することができる.
  • N[expr,{p,a}]は最高で p の精度と a の確度で結果を生成しようとする.
  • N[expr,{Infinity,a}]は確度 a で結果を生成しようとする.
  • N[expr,{Infinity,1}]は式 expr の整数部分の数値近似を求めようとする.

例題

すべて開くすべて閉じる

  (3)

数値的に評価する:

数値的に50桁精度まで評価する:

機械精度の入力では,結果は常に機械精度である:

厳密な入力では,結果は指定の精度にすることができる:

スコープ  (20)

数学定数  (4)

数学定数を任意精度で評価する:

大きい整数について近似値を求める:

複素数の結果:

NumericQを使ってより複雑な記号数学定数を検出することができる:

一般に,NumericQの式は任意精度で評価できる数を表す:

一般的な式  (3)

行列項を数値的に評価する:

記号式の数の部分を数値的に評価する:

多項式の係数を数値にする:

機械精度と適応的精度  (4)

N[e]は一般に数を機械数に置き換えて結果を計算する:

これは機械数の式に等しい:

機械の丸め誤差は差分係数の誤差の両対数プロットに明らかに現れる:

N[e,p]pMachinePrecisionではない場合は任意精度数を使って適応的に働く:

適応的精度では,差分係数の誤差は理論値にマッチする:

適応的精度制御には,追加精度に対してデフォルトの限界である$MaxExtraPrecisionがある:

限界に達した場合,局所的に$MaxExtraPrecisionを大きくして問題を解決することができる:

Nは入力の近似数の精度を上げることはない:

結果の精度は入力精度と等しい:

SetPrecisionを使って入力式の精度を上げることができる:

データオブジェクトと特殊規則  (5)

Nは厳密な数値ベキには影響しない:

底を変更する:

ベキは,NumericQでなければ変更される:

SparseArrayオブジェクトは表示された配列に基づいて扱われる:

一般に,N[Normal[s]]Normal[N[s]]と同一である:

InterpolatingFunctionのようなデータオブジェクトはデータだけが影響を受けるような特殊規則を備えている:

新たな関数が機械数を使うように適切なデータだけが変更される:

Integrateのような操作は適当な場合は対応するN関数を使う:

これはNIntegrateを使っている:

要求精度が高い場合,数値アルゴリズムには非常に時間がかかるか調整が必要なことがある:

この場合はNIntegrateを直接使ってもよい:

ほとんどの式について,NFullFormで示されるツリーに影響する:

eの表され方のために,1.xの前に現れる:

eの中の整数は機械数に変換されているだけである:

特殊規則の定義  (4)

NHoldAll属性を使って指標付き変数がNの影響を受けるのを防ぐ:

こうすると,Nは係数だけに影響を与える:

こうしないと,Nは指標にも影響を与える:

と等価の数値定数を定義する:

厳密な記号式では定数は評価されない:

Nを使うと評価される:

任意精度や確度で使える定義を加える:

確度20で式を数値評価する:

正の と正の整数 について実数値の根 を表す関数を定義する:

NHoldRestを使って第2引数が実数に変換されるのを防ぐ:

2の立方根の厳密な表現:

機械数近似:

47桁近似:

多項式 を疎形式{{c_(1),p_(1)},...}で表すデータオブジェクトを定義する:

Nがベキではなく係数のみに影響するようにする:

上記規則が作用するためには,デフォルトの引数のNによる評価が行われるのを抑制しなければならない:

多項式 の表現:

近似実係数の表示を得る:

で評価する:

一般化と拡張  (3)

5桁確度で任意精度:

整数部分のみに対応する1桁確度:

20桁精度か30桁確度のどちらかを得る:

特性と関係  (3)

N[e]の結果の精度は一般にMachinePrecisionである:

結果が機械数にしては大きすぎる場合は,精度が変わることがある:

N[e,p]の結果の精度は一般に p に等しいPrecisionである:

それが不可能な場合は,Wolfram言語がメッセージを出力する:

一般に$MaxExtraPrecisionを上げることで問題を回避することができる:

隠しゼロがある場合は正の精度に到達できないので,確度を使ってもよい:

N[e,{,a}]の結果は,一般に a と等しい Accuracyを持つ:

これが不可能な場合,Wolfram言語はメッセージを出力する:

一般に,$MaxExtraPrecision を上げることで問題は回避できる:

おもしろい例題  (1)

の各桁の数字のテクスチャ:

Wolfram Research (1988), N, Wolfram言語関数, https://reference.wolfram.com/language/ref/N.html (2003年に更新).

テキスト

Wolfram Research (1988), N, Wolfram言語関数, https://reference.wolfram.com/language/ref/N.html (2003年に更新).

CMS

Wolfram Language. 1988. "N." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/N.html.

APA

Wolfram Language. (1988). N. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/N.html

BibTeX

@misc{reference.wolfram_2024_n, author="Wolfram Research", title="{N}", year="2003", howpublished="\url{https://reference.wolfram.com/language/ref/N.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_n, organization={Wolfram Research}, title={N}, year={2003}, url={https://reference.wolfram.com/language/ref/N.html}, note=[Accessed: 21-November-2024 ]}