Пространства имён
Варианты
Действия

std::chi_squared_distribution

Материал из cppreference.com
< cpp‎ | numeric‎ | random

 
 
 
Генерация псевдослучайных чисел
Генераторы равномерных случайных битов
Генераторы и адаптеры генераторов
Недетерминированный генератор
Распределения
Равномерные распределения
Распределения Бернулли
Распределения Пуассона
Нормальные распределения
chi_squared_distribution
(C++11)
Распределения выборки
Последовательности настройки
(C++11)
Библиотека C
 
std::chi_squared_distribution
Функции-члены
Поколение
Оригинал:
Generation
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Характеристики
Оригинал:
Characteristics
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Функции, не являющиеся членами
 
Определено в заголовочном файле <random>
template<class RealType =double>
class chi_squared_distribution;
(начиная с C++11)
chi_squared_distribution генерирует случайные числа x>0 в соответствии с Распределение хи-квадрат
Оригинал:
The chi_squared_distribution produces random numbers x>0 according to the Распределение хи-квадрат:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
f(x;n) = None
x(n/2)-1
e-x/2
Γ(n/2) 2n/2
Γ - это Гамма-функция (См. также std::tgamma) и n - степени свободы (по умолчанию 1).
Оригинал:
Γ is the Гамма-функция (See also std::tgamma) and n are the степени свободы (default 1).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править]Типы-члены

Тип члена Определение
result_typeRealType
param_type
Тип набора параметров, не специфицирован
Оригинал:
the type of the parameter set, unspecified
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править]Функции-члены

строит новые распределения
Оригинал:
constructs new distribution
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)[править]
сбрасывает внутреннее состояние распределения
Оригинал:
resets the internal state of the distribution
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)[править]
Генерация
Оригинал:
Generation
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
генерирует следующее случайное число в распределении
(public функция-элемент)[править]
Характеристики
Оригинал:
Characteristics
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
возвращает степеней свободы (n) распределение параметров
Оригинал:
returns the degrees of freedom (n) distribution parameter
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)[править]
получает или задает объект распределения параметра
Оригинал:
gets or sets the distribution parameter object
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)[править]
возвращает минимальное потенциально сгенерированное значение
Оригинал:
returns the minimum potentially generated value
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)[править]
возвращает максимальное потенциально сгенерированное значение
Оригинал:
returns the maximum potentially generated value
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-элемент)[править]

[править]Функции, не являющиеся членами

(C++11)(C++11)(удалено в C++20)
сравнивает два объекта распределения
(функция)[править]

выполняют потоковый вывод/ввод для объекта распределения псевдослучайных чисел
(функция)[править]

[править]Пример

#include <algorithm>#include <cmath>#include <iomanip>#include <iostream>#include <map>#include <random>#include <vector>   template<int Height =5, int BarWidth =1, int Padding =1, int Offset =0, bool DrawMinMax =true, class Sample>void draw_vbars(Sample const& s){ static_assert((Height >0)&&(BarWidth >0)&&(Padding >=0)&&(Offset >=0));auto cout_n =[](autoconst& v, int n){while(n-->0)std::cout<< v;};constauto[min, max]=std::minmax_element(std::cbegin(s), std::cend(s));std::vector<std::div_t> qr;for(float e : s){ qr.push_back(std::div(std::lerp(0.f, Height*8, (e -*min)/(*max -*min)), 8));}for(auto h{Height}; h-->0;){ cout_n(' ', Offset);for(auto[q, r]: qr){char d[]="█";// == { 0xe2, 0x96, 0x88, 0 } q < h ? d[0]=' ', d[1]='\0': q == h ? d[2]-=(7- r):0; cout_n(d, BarWidth); cout_n(' ', Padding);}if(DrawMinMax && Height >1) h == Height -1?std::cout<<"┬ "<<*max: h !=0?std::cout<<"│":std::cout<<"┴ "<<*min; cout_n('\n', 1);}}   int main(){std::random_device rd{};std::mt19937 gen{rd()};   auto χ2=[&gen](constfloat dof){ std::chi_squared_distribution<float> d{ dof /* n */};   constint norm =1'00'00;constfloat cutoff =0.002f;   std::map<int, int> hist{};for(int n=0; n!=norm;++n){++hist[std::round(d(gen))];}   std::vector<float> bars;std::vector<int> indices;for(constauto[n, p]: hist){if(float x = p *(1.0/norm); cutoff < x){ bars.push_back(x); indices.push_back(n);}}   std::cout<<"dof = "<< dof <<":\n"; draw_vbars<4,3>(bars);for(int n : indices){std::cout<<""<<std::setw(2)<< n <<" ";}std::cout<<"\n\n";};   for(float dof :{1.f, 2.f, 3.f, 4.f, 6.f, 9.f}) χ2(dof);}

Возможный вывод:

 dof = 1: ███ ┬ 0.5271 ███ │ ███ ███ │ ███ ███ ▇▇▇ ▃▃▃ ▂▂▂ ▁▁▁ ▁▁▁ ▁▁▁ ▁▁▁ ┴ 0.003 0 1 2 3 4 5 6 7 8   dof = 2: ███ ┬ 0.3169 ▆▆▆ ███ ▃▃▃ │ ███ ███ ███ ▄▄▄ │ ███ ███ ███ ███ ▇▇▇ ▄▄▄ ▃▃▃ ▂▂▂ ▁▁▁ ▁▁▁ ▁▁▁ ┴ 0.004 0 1 2 3 4 5 6 7 8 9 10   dof = 3: ███ ▃▃▃ ┬ 0.2439 ███ ███ ▄▄▄ │ ▃▃▃ ███ ███ ███ ▇▇▇ ▁▁▁ │ ███ ███ ███ ███ ███ ███ ▆▆▆ ▄▄▄ ▃▃▃ ▂▂▂ ▁▁▁ ▁▁▁ ▁▁▁ ┴ 0.0033 0 1 2 3 4 5 6 7 8 9 10 11 12   dof = 4: ▂▂▂ ███ ▃▃▃ ┬ 0.1864 ███ ███ ███ ███ ▂▂▂ │ ███ ███ ███ ███ ███ ▅▅▅ ▁▁▁ │ ▅▅▅ ███ ███ ███ ███ ███ ███ ███ ▆▆▆ ▄▄▄ ▃▃▃ ▂▂▂ ▂▂▂ ▁▁▁ ▁▁▁ ▁▁▁ ┴ 0.0026 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15   dof = 6: ▅▅▅ ▇▇▇ ███ ▂▂▂ ┬ 0.1351 ▅▅▅ ███ ███ ███ ███ ▇▇▇ ▁▁▁ │ ▁▁▁ ███ ███ ███ ███ ███ ███ ███ ▅▅▅ ▂▂▂ │ ▁▁▁ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▅▅▅ ▄▄▄ ▃▃▃ ▂▂▂ ▁▁▁ ▁▁▁ ▁▁▁ ┴ 0.0031 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18   dof = 9: ▅▅▅ ▇▇▇ ███ ███ ▄▄▄ ▂▂▂ ┬ 0.1044 ▃▃▃ ███ ███ ███ ███ ███ ███ ▅▅▅ ▁▁▁ │ ▄▄▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▆▆▆ ▃▃▃ │ ▄▄▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ ▆▆▆ ▄▄▄ ▃▃▃ ▂▂▂ ▁▁▁ ▁▁▁ ▁▁▁ ┴ 0.0034 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

[править]Внешние ссылки

close