Экспонента и принцип Парето

Экспонента

Число — это т.н. число Эйлера, приблизительно равное 2,72. Примечательно оно тем, что производная от этой функции равна самой функции exp(x)` = exp(x).

На графике нижы видим, что скорость роста экспоненциального графика увеличивается быстрее. А все почему? Потому, что производная (скорость роста или уменьшения) функции равна самой функции, т.е. скорость увеличения функции равна значению функции.

Экспонента в Excel

Если грубо, то в природе, это действительно встречается часто — чем больше клеток делятся, тем быстрее их становиться больше. Чем больше у вас денег в банке, тем большую прибыль они приносят.

Давайте разберем, что же происходит в экселе на примере третьей строки:

B3 = 2^0.25=1.19

C3 = 2.72^0.25=1.28

* знак ^ это знак возведения в степень.

Принцип Парето и экспонента

Слышали о таком принципе? Думаю да. «20% усилий приносят 80% результата». Это он.  Лучшее определение для запоминания, мне кажется:

20% любителей пива употребляют 80% всего пива

На принципе Парето построен и ABC анализ запасов, например.

Этот принцип Парето — еще один пример экспоненты.

Кстати очень справедливый закон в реальной жизни, подтверждаю своим опытом.Когда-то на первом своем проекте я заметил, что примерно за 20% времени ты создаешь 80% продукта (в количественном эквиваленте), далее работаешь на качество. Т.е. еще 80% времени допиливаешь, ищешь ошибки, настраиваешь. Я даже слышал, что говорят «разработка в стадии экспоненты» — т.е. в стадии приближения к идеалу.

При таком «допиливании» проекта важно вовремя остановиться, ведь продукт никогда не будет идеальным. Поэтому заранее определитесь какое качество вы хотели бы получить в конце. Если делаете не себе, обязательно соберите требования с заказчика. Принцип выглядит примерно так:

Экспонента4

Php и числа

Значениями типа integer являются целые числа. Целые числа могут быть указаны в следующих системах счисления:

  • десятичной, например 1224 или -123
  • шестнадцатеричной - перед числом необходимо поставить 0x, например: 0x1A
  • восьмеричной - перед числом необходимо поставить 0 (нуль), например: 0123
  • двоичной - перед числом необходимо поставить 0b, например:0b111011

 Для записи в восьмеричной системе счисления, . Для записи в двоичной системе счисления

Числа с плавающей точкой также можно представлять в виде экспоненциальной записи. Экспоненциальная запись означает число, умноженное на 10 в указанной степени. Экспоненциальная запись состоит из числа, за которым ставится прописная или строчная буква E, после которой можно поставить необязательный знак + или - и далее показатель степени числа 10:

$num1 = 3.52e5; // если вручную то считать, то 3.52*10^5 = 352000
$num2 = 7E-4; // если вручную то считать, то 7*10^-4 = 0.0007

Ошибки округления чисел c плавающей точкой

Двоичное представление чисел с плавающей точкой неспособно обеспечить их точность. Двоичное представление чисел c плавающей точкой в PHP определяется согласно стандарту IEEE-754. Факт того, что число c плавающей точкой не может быть представлено точно, может приводить к проблемам, например при сравнении этих чисел:

$x = 0.3 - 0.2;
$y = 0.2 - 0.1;

echo ($x == $y), "<br>"; // false
echo ($x == 0.1), "<br>"; // false
echo ($y == 0.1); // true

Эта проблема не является чем-то характерным для PHP, она проявляется во всех языках программирования, где используется двоичное представление чисел с плавающей точкой. Если необходима высокая точность представления чисел с плавающей точкой, нужно использовать математические функции произвольной точности:

$x = bcsub(0.3, 0.2, 1);
$y = bcsub(0.2, 0.1, 1);

echo ($x == $y), "<br>"; // true
echo ($x == 0.1), "<br>"; // true
echo ($y == 0.1); // true

Специальное значение NAN

Некоторые функции при работе с числами могут возвращать специальное значение NAN. Данное значение означает, что какая-то используемая математическая функция вышла за пределы допустимого диапазона значений в операциях с плавающей точкой или не смогла обработать свои входные данные. Значение NAN является сокращением от Not a Number (не число):

$nan = acos(8);
echo $nan;

Значение NAN обладает одной особенностью — оно не равно никакому значению, в том числе и другому NAN. Это значит, что нельзя использовать проверку $nan == NAN, чтобы определить, является ли значение переменной $nan значением NAN. Вместо этого следует выполнить проверку $nan != $nan. Эта проверка вернёт TRUE тогда и только тогда, когда $nan имеет значение NAN. Аналогичную проверку можно выполнить с помощью функции is_nan(). Она возвращает TRUE, только если аргумент имеет значение NAN.

Помимо этого, любая арифметическая операция с NAN, например, NAN / 10 всегда возвращает NAN.

Источник: 1 - 2

Оцени публикацию:
  • 0,0
Оценили человек: 0

Похожие статьи:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » Интересное »