72件ヒット
[1-72件を表示]
(0.187秒)
種類
- インスタンスメソッド (39)
- ライブラリ (22)
- モジュール関数 (11)
ライブラリ
-
bigdecimal
/ ludcmp (11) -
bigdecimal
/ util (39)
モジュール
- LUSolve (11)
キーワード
- bigdecimal (11)
- lusolve (11)
-
to
_ d (39)
検索結果
先頭5件
-
bigdecimal
/ util (50030.0) -
String、Integer、Float、Rational オブジェクトを BigDecimal オブジェクトに変換する機能を提供します。
...String、Integer、Float、Rational オブジェクトを
BigDecimal オブジェクトに変換する機能を提供します。
* String#to_d
* Integer#to_d
* Float#to_d
* Rational#to_d
これらのメソッドを使うには 'bigdecimal/util' を require する必要があります。
な......お、Ruby 2.6.0 以降では、'bigdecimal/util' を require すると、
'bigdecimal' 本体も require されます。......String、Integer、Float、Rational, NilClass オブジェクトを
BigDecimal オブジェクトに変換する機能を提供します。
* String#to_d
* Integer#to_d
* Float#to_d
* Rational#to_d
* NilClass#to_d
これらのメソッドを使うには 'bigdecimal/util' を require する......必要があります。
なお、Ruby 2.6.0 以降では、'bigdecimal/util' を require すると、
'bigdecimal' 本体も require されます。... -
bigdecimal (12204.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456......789e6
//}
一般的な 10 進数の計算でも有用です。2 進数の浮動小数点演算には微小な誤
差があるのに対し、BigDecimal では正確な値を得る事ができます。
//emlist[例1: 0.0001 を 10000 回足す場合。][ruby]{
sum = 0
for i in (1..10000)
sum = sum......//emlist[][ruby]{
require "bigdecimal/math"
//}
とすることで、sin や cos といった関数が使用できるようになります。
使用方法など、詳細は bigdecimal/math を参照して下さい。 その他、Float との相互変換などの
メソッドが bigdecimal/util... -
Rational
# to _ d(nFig) -> BigDecimal (11330.0) -
自身を BigDecimal に変換します。
...BigDecimal に変換します。
nFig 桁まで計算を行います。
@param nFig 計算を行う桁数
@return BigDecimal に変換したオブジェクト
@raise ArgumentError nFig に 0 以下を指定した場合に発生します。
//emlist[][ruby]{
require "bigdecimal"
require "bigdeci......mal/util"
p Rational(1, 3).to_d(3) # => 0.333e0
p Rational(1, 3).to_d(10) # => 0.3333333333e0
//}... -
NilClass
# to _ d -> BigDecimal (11218.0) -
BigDecimal オブジェクトの 0.0 を返します。
...BigDecimal オブジェクトの 0.0 を返します。
Ruby 2.6 で追加されたメソッドです。
//emlist[][ruby]{
require "bigdecimal"
require "bigdecimal/util"
p nil.to_d # => 0.0
//}... -
Float
# to _ d(prec) -> BigDecimal (8336.0) -
自身を BigDecimal に変換します。
...BigDecimal に変換します。
@param prec 計算結果の精度。省略した場合は Float::DIG + 1 です。
@return BigDecimal に変換したオブジェクト
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
p 1.0.to_d # => 0.1e1
p (1.0 / 0).to_d # => Infinity
p......(1.0 / 3).to_d / (2.0 / 3).to_d # => 0.5e0
p ((1.0 / 3) / (2.0 / 3)).to_d # => 0.5e0
//}
@raise ArgumentError prec に負の数を指定した場合に発生します。... -
Float
# to _ d -> BigDecimal (8236.0) -
自身を BigDecimal に変換します。
...BigDecimal に変換します。
@param prec 計算結果の精度。省略した場合は Float::DIG + 1 です。
@return BigDecimal に変換したオブジェクト
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
p 1.0.to_d # => 0.1e1
p (1.0 / 0).to_d # => Infinity
p......(1.0 / 3).to_d / (2.0 / 3).to_d # => 0.5e0
p ((1.0 / 3) / (2.0 / 3)).to_d # => 0.5e0
//}
@raise ArgumentError prec に負の数を指定した場合に発生します。... -
LUSolve
. # lusolve(a , b , ps , zero = 0 . 0) -> [BigDecimal] (6224.0) -
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
...列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。
@param b ベクトルを BigDecimal の配列で指定します。
@param ps LUSolve.#ludecomp の返......param zero 0.0 を表す値を指定します。
//emlist[][ruby]{
require 'bigdecimal'
require 'bigdecimal/util'
require 'bigdecimal/ludcmp'
include LUSolve
a = [['1.0', '2.0'], ['3.0', '1.0']].flatten.map(&:to_d)
# x = ['1.0', -1.0']
b = ['-1.0', '2.0'].map(&:to_d)
zero = '0.0'.to_d
one = '1.0......'.to_d
# 以下の 2 行は
ps = ludecomp(a, b.size, zero, one) # a が破壊的に変更される
x = lusolve(a, b, ps, zero)
# こう書いてもよい
# x = lusolve(a, b, ludecomp(a, b.size, zero, one), zero)
p x.map(&:to_f) #=> [1.0, -1.0]
//}...