Фиксированный заголовок в Jqtouch

Вот одна простая проверка, которую можно выполнить. Это использует сгенерированные случайные числа для оценки Pi. Это не доказательство случайности, но плохие RNGs обычно не преуспевают на нем (они возвратят что-то как 2,5 или 3.8 скорее ~3.14).

Идеально это было бы только одним из многих тестов, которые Вы запустите для проверки случайности.

Что-то еще, что можно проверить, стандартное отклонение из вывода. Ожидаемое стандартное отклонение для равномерно распределенного населения значений в диапазоне 0.. n приближается к n/sqrt (12).

/**
 * This is a rudimentary check to ensure that the output of a given RNG
 * is approximately uniformly distributed.  If the RNG output is not
 * uniformly distributed, this method will return a poor estimate for the
 * value of pi.
 * @param rng The RNG to test.
 * @param iterations The number of random points to generate for use in the
 * calculation.  This value needs to be sufficiently large in order to
 * produce a reasonably accurate result (assuming the RNG is uniform).
 * Less than 10,000 is not particularly useful.  100,000 should be sufficient.
 * @return An approximation of pi generated using the provided RNG.
 */
public static double calculateMonteCarloValueForPi(Random rng,
                                                   int iterations)
{
    // Assumes a quadrant of a circle of radius 1, bounded by a box with
    // sides of length 1.  The area of the square is therefore 1 square unit
    // and the area of the quadrant is (pi * r^2) / 4.
    int totalInsideQuadrant = 0;
    // Generate the specified number of random points and count how many fall
    // within the quadrant and how many do not.  We expect the number of points
    // in the quadrant (expressed as a fraction of the total number of points)
    // to be pi/4.  Therefore pi = 4 * ratio.
    for (int i = 0; i < iterations; i++)
    {
        double x = rng.nextDouble();
        double y = rng.nextDouble();
        if (isInQuadrant(x, y))
        {
            ++totalInsideQuadrant;
        }
    }
    // From these figures we can deduce an approximate value for Pi.
    return 4 * ((double) totalInsideQuadrant / iterations);
}

/**
 * Uses Pythagoras' theorem to determine whether the specified coordinates
 * fall within the area of the quadrant of a circle of radius 1 that is
 * centered on the origin.
 * @param x The x-coordinate of the point (must be between 0 and 1).
 * @param y The y-coordinate of the point (must be between 0 and 1).
 * @return True if the point is within the quadrant, false otherwise.
 */
private static boolean isInQuadrant(double x, double y)
{
    double distance = Math.sqrt((x * x) + (y * y));
    return distance <= 1;
}

5
задан thikonom 23 November 2009 в 13:53
поделиться

3 ответа

Mobile Safari не поддерживает позицию: исправлено (по крайней мере, не так, чтобы это было полезно для веб-разработки).

В качестве альтернативы вы можете попробовать реализовать это решение javascript

1
ответ дан 14 December 2019 в 13:39
поделиться

Как указал Томас, в текущей версии Mobile Safari, работающей на iPhone, это не поддерживается.

Если вы все равно используете jQTouch, обратите внимание на «floaty» расширение, которое поставляется вместе с последними загрузками. Он добавляет плавающий div, который перемещается вместе с вашей прокруткой, хотя и с некоторой задержкой. Поведение очень похоже на панель «архив» в мобильном интерфейсе GMail.

Вот страница расширений на jQTouch, на которой упоминается floaty: http://code.google.com/p/jqtouch/wiki/Extensions

Просто скачайте последний пакет, и все будет там. Это не идеальное решение, но лучше, чем ничего.

0
ответ дан 14 December 2019 в 13:39
поделиться

Проверьте этот плагин для jQTouch - http://code.google.com/p/jqtscroll/

3
ответ дан 14 December 2019 в 13:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: