タグ

mathとjavaに関するnilabのブックマーク (5)

  • 任意の底を持つ対数を計算する方法 - プログラマはサイコロを振らない

    多くのプログラミング言語では、任意の底を持つ対数を計算するために一工夫が必要だ。 PHP PHPで任意の底の対数得るのは簡単だ。log関数を用いて次のように書く。第二引数を省略するとネイピア数(自然対数の底)eが底となる。 <?php // 底が2、真数が10の対数値。 $value = log(10.0, 2.0); ?> しかし、このように書ける言語は少ない。 Java JavaではMath.logメソッドもしくはMath.log10メソッドを使う。前者は自然対数(底はネイピア数e)、後者は常用対数(底は10)の値を返す。しかし、任意の底について計算をするようなメソッドは用意されていない。そこで、数学で習った対数の底の変換公式*1を用いて任意の底を持つ対数を計算する。 (対数の底の変換公式) bは任意の底だ。この式を用いれば、任意の底を持つ対数も、自然対数や常用対数を用いて計算すること

    任意の底を持つ対数を計算する方法 - プログラマはサイコロを振らない
    nilab
    nilab 2013/04/24
    任意の底を持つ対数を計算する方法 - プログラマはサイコロを振らない : // 底が2、真数が10の対数値。 double value = Math.log(10.0) / Math.log(2.0);
  • Commons-Math

    Math Overview Downloads Latest API docs (development) Javadoc (4.0-beta1 release) Javadoc (3.6.1 release) Issue Tracking Source Repository (current) Wiki Developers Guide Proposal User Guide Contents Overview Statistics Data Generation Linear Algebra Numerical Analysis Special Functions Utilities Complex Numbers Distributions Fractions Transform Methods Geometry Optimization Curve Fitting Least Sq

    nilab
    nilab 2012/12/25
    Commons-Math: The Mathematics Library - Math : Commons "Math is a library of lightweight, self-contained mathematics and statistics components addressing the most common problems not available in the Java programming language or Commons Lang."
  • Java Square

    JAVA Squareへようこそ^^ ここでは、JAVAによりコーディングした数値解析ツールを紹介します。実際に使うことができるものばかりですので、おおいに勉強して、そして、利用してください。

    nilab
    nilab 2007/09/19
    Java Square : JAVAによりコーディングした数値解析ツール
  • 開平方のアルゴリズム

    概要 二乗してある数 n となるような数 m を n の平方根という。 m2 = n ⇒ m は n の平方根 開平方とは、ある数 n が与えられたときに、その平方根 m を求めることである。 平方根を求めるアルゴリズムの代表的なものにニュートン法が挙げられる。 ニュートン法は適当な初期値 x を決め、ある操作を繰り返すことで徐々に x と 真の値との誤差を少なくする方法で、二次方程式とその導関数を利用する。 開平方は先頭から一桁ずつ平方根の値を求めていく方法で、ある段階での値は 求めた桁まで真の値と一致する。そして、繰り返し操作することでいくらでも必要とする 精度を得ることができ、紙と鉛筆で計算するのにも適しているという特徴がある。 ただし、これは速度が求められる計算には適していない。計算時間を計測すると 2の平方根を小数点以下 1,000桁求めるのにニュートン法の 100倍以上かかった

    nilab
    nilab 2007/09/19
    開平方のアルゴリズム
  • - vecmath package(日)

    Java(TM) 3D API 1.2 で仕様が公開されている,javax.vecmath パッケージの,非公式な実装(java ソースコード)です. このパッケージには,3次元の点,ベクトル,4次元のベクトル,4x4, 3x3 行列,Quaternion, 回転軸と角度の組合せなどなど,コンピュータグラフィックス でよく使われるクラスを含んでいます.ほとんどのクラスは,単精度と倍精度のバージョンがあります.一般の行列の LU 分解や SVD も実装されています. フリーソフトウェアです.AS IS ベースで提供され,保証は一切ありません.バグレポートやコメントを歓迎します. この実装は,Java3D API 1.2 に基づくものです.ここで提供されている Java 実装は,この全仕様をサポートし,ソースコード公開です. また,vecmath API に関する代数と幾何の基礎を,日語ドキ

    nilab
    nilab 2005/09/30
    unficial Java3 vecmath package. リンク集も参考になる。
  • 1