タグ

algorithmとmathに関するpaellaのブックマーク (4)

  • 1変数関数の極小値求解プログラム2

    [ 簡単な説明 ] brent の方法による1変数関数の極小値求解プログラムです。 出力例 1 ~ 4 は、極小値を囲い込む範囲を変えて、関数 f (x) = 5 + |(x-1.6)(x-10)(x+8)| の極小を求めています。 極小値求解プログラムは、与える関数の符号を変えれば、極大値求解に使用できます。 /* brent.c */ #include <stdio.h> #include <math.h> #define ITMAX 100 /* 反復回数の上限 */ #define CGOLD 0.3819660 /* 黄金分割比 */ #define ZEPS 1.0e-10 /* 極小がちょうど x=0 にあるときは相対精度 tol */ /* の代わりにこれを絶対精度とする */ #define SHFT(a,b,c,d) (a)=(b); (b)=(c); (c)=(d);

    paella
    paella 2010/04/20
    放物線補間のプログラム。
  • compb-index

    paella
    paella 2010/04/20
    放物線補間の説明と、Cソース。「最小化〜」のリンクを参照のこと。
  • 四捨五入について - OKWAVE

    技術評論社より出版の、「C言語による最新アルゴリズム事典」(奥村晴彦著)の「四捨五入」の項目について質問です。 「a >= 0, b > 0の2整数について、a / bを四捨五入で小数第一位までに丸める方法」が以下のように書かれています。 整数型変数rを使って、 r = (10 * a + b / 2) / b; printf("a / b = %d.%d\n", r / 10, r % 10); rには、結果の小数a.bが10 * a + bの形に入ることになるのでしょうが、何故そうなるのかわかりません。 どうかご教授ください。m(__)m

    四捨五入について - OKWAVE
    paella
    paella 2010/03/03
    「C言語による最新アルゴリズム事典」(奥村晴彦著)の「四捨五入」の項目について、なぜそうなるのかのQ&A。ついつい暗記してしまう内容をきちんと疑問に持つことが大事だと改めて思う。
  • FF12の乱数について

    概要 FF12が内部でどのように乱数を扱っているか調べたので、分かったことを書くよ。 目次 概要 表記 注意 導入 生成器Aの特徴 A系列のよくある利用パターン A系列を使う処理 銃 素手 斧、ハンマー、ハンディボムによる攻撃のダメージ計算 ケアル、ケアルダ ポーション、ハイポーション、エクスポーション、エーテル、ハイエーテル トレジャーの開封 セーブデータのロード A系列の乱数を消費しない行動 応用例 乱数位置の特定 5hits法の原理 "セロビ台地/交差ヶ原"のトレジャーPOP法則 分かっていないこと 表記 この文章では以下の規則に従う。 ⌊x⌋で、x以下の整数のうち最大のものを表す。 x % yで、xをyで割った余りを表す。x % y = x - y * ⌊x / y⌋ 注意 この文章では、FF12内の乱数の規則性を観察し、それを制御する方法について述べている。こういうプレイははおそ

    paella
    paella 2010/03/01
    FF12が内部で乱数をどのように扱っているか、その操り方にも触れている面白い内容。よくこんなに調べ上げたなあと思う。
  • 1