![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
A. Встановлення розподілу за експериментальними данимиСодержание книги
Поиск на нашем сайте
Встановлення статистичного розподілу за експериментальними даними потрібно для їх якісного аналізу, і для обчислень з цим розподілом. Для встановлення функцій статистичного опису вибірки розроблено програму create_rozpodil, яка приймає 4 параметри. Це sample_a – масив вибірки, nazva_pok_a – назва вибірки, idd_view – признак, чи виводити графіки шуканих функцій, idd_save – признак, чи зберігати ці графіки у файли. В програмі create_rozpodil вирахувано розподіл – залежність кількості випадків від величини елементів у вибірці, закон розподілу (густину ймовірності) елементів у вибірці, функцію розподілу (інтеграл від густини ймовірності). Ця програма повертає hist_xxi ‑ вузли визначення (дискретно задані аргументи) шуканих функцій, hist_yni_fu ‑ відповідні дискретні значення закону розподілу (кількості випадків); hist_yni_fu ‑ дискретні значення закону розподілу (густини ймовірності), hist_yfi_fu ‑ дискретні значення функції розподілу. Ця функція також повертає об'єкти сплайн-апроксимації цих трьох функцій, і параметр rez_one – який відображає точність вирахування закону розподілу. При успішному встановленні закону розподілу цей параметр має значення, близьке до одиниці. Текст функції create_rozpodil подано нижче.
%-------------------- Програма встановлення розподілу -------------------------- function [hist_xxi,... % аргументи у вузлах інтерполяції hist_yyi_fu,... % дискрентні значення розподілу (кільк. випадків) hist_yni_fu,... % дискренті значення закону розподiлу hist_yfi_fu,... % дискрентні значення функцiї розподiлу hist_yyi_sp,... % сплайн розподілу (кількості випадків) hist_yni_sp,... % сплайн закон розподiлу hist_yfi_sp,... % сплайн функцiї розподiлу rez_one ] =... % контроль точності закону розподілу == 1 create_rozpodil (sample_a, nazva_pok_a, idd_view, idd_save)
%------------------------------------------------------------------------------ % create_rozpodil - Програма створеня масивів і сплайнів, які описують % % Функцція create_rozpodil приймає статистичну вибірку і вираховує для неї % розподіл, густину ймовірності та функцію ймовірності на області, % обмеженій найменшим та найбільшим значенням елементів у вибірці. % % Вхiднi параметри: % sample_a - Вибірка, вектор-стовпчик розміром n*1 % nazva_pok_a - Назва вибірки % idd_view - Признак, чи виводити графіки при зветранні до функції
% idd_save - Признак, чи зберігати графіки у файл % % Вихiднi параметри: % hist_xxi - Масив (стовпчик) значення аргументу у вузлах інтерполяції % hist_yyi_fu - Масив (стовпчик) значень розполіду (кількості % випадків) у вузлах інтерполяції % hist_yni_fu - Масив (стовпчик) значень закону розполіду (густини % ймовірності) у вузлах інтерполяції % hist_yfi_fu - Масив (стовпчик) значень функції розполіду (інтегралу % від густини ймовірності) у вузлах інтерполяції % hist_yyi_sp - Об’єкт сплайн-апроксимації розполіду (кількості % випадків) % hist_yni_sp - Об’єкт сплайн-апроксимації закону розполіду % (густини ймовірності) % hist_yfi_sp - Об’єкт сплайн-апроксимації розполіду функції розполіду % (інтегралу від густини ймовірності) % rez_one - Критерій точності приведення розподілу до % гусини ймовірності. Це інтеграл від густини ймовірності. % Має дорівнювати одиниці. Для контролю точності обчислень. % % Спеціальпні зауваження: % При вирахуванні значення аргументів у вузлах інтерполяції вжито явну їх % кількість NNN. Якість встановленого закону розподілу залежить від кількості % відрізнів MMM, на які розбито ширину вибірки. Параметр MMM краще підбирати % експериментально. Оскільки в практичних задачах часто трапляться малі % вибірки, тому в сплайн-інтерполяції вжито нийнижчу (третю) з прийнятних % степенів сплайна. Такж для апроксимації розподілу вжито функцію pchip. %--------------------------------------------------------------------------
% Розмір вибірки [size_row_sample_a, size_col_sample_a] = size(sample_a);
NNN = 100; % Кількість вузлів інтерполяції MMM = 5; % Кількість стовпчиків в гісограмі
% Утворення дискретного розподілу (залежність кількості випадків від значення) [hist_yy1, hist_xx1] = hist (sample_a, MMM); % MMM - кількіст стовпчикiв
% На області визначення розподілу вибираємо вузли інтерполяції hist_xxi = (hist_xx1(1): (hist_xx1(end)-hist_xx1(1))/NNN: hist_xx1(end))';
% Масив - апроксимація розподілу (кількості випадків) hist_yy1_tmp = pchip (hist_xx1, hist_yy1, hist_xxi); % З функції pchip
% Сплайн розподілу (кількості випадків) hist_yyi_sp = spapi (3, hist_xxi, hist_yy1_tmp);
% Масив значень значень сплайна розподілу (кількості випадків) hist_yyi_fu = fnval (hist_yyi_sp, hist_xxi); % за сплайном 3-го степеня
% Грааниці бласті визначення розподілу (сплайна, що його апроксимує) board_1 = [min(hist_xx1), max(hist_xx1)];
% Iнтеграл вiд сплайна розподілу (кількості випадків) на області визначення
sss_1 = diff (fnval (fnint (hist_yyi_sp), board_1)); % Коефіціент нормування.
% Закон розподілу визначаємо, ділячи розподіл (клькість випадків) % на коефіцієнт нормування (площу від цього розподілу) hist_yni_fu = hist_yyi_fu./ sss_1;
% Сплайн закону розподілу (густини ймовірності) hist_yni_sp = spapi (3, hist_xxi, hist_yni_fu);
% Інтеграл від закону розподілу на області його визначення == 1 rez_one = diff (fnval (fnint (hist_yni_sp), [min(hist_xxi), max(hist_xxi)]));
% Сплайн Функцiї розподiлу знаходимо, інтгеруючи сплайн закону розподілу hist_yfi_sp = fnder (hist_yni_sp, -1);
% Масив значеннь функції розподілу у вузлах інтеополяції hist_yfi_fu = fnval (hist_yfi_sp, hist_xxi);
%-------------------------------------------------------------------------- % Якщо задно признак виводити графіки if idd_view ff1 = figure('Name', 'hist', 'Position',[180 230 755 340]); % Явно задані ff2 = figure('Name', 'hist', 'Position',[180 230 755 340]); % розміри вікон ff3 = figure('Name', 'hist', 'Position',[180 230 755 340]); % з графіками
ax1 = axes('Parent',ff1); ax2 = axes('Parent',ff2); ax3 = axes('Parent',ff3);
box(ax1, 'on'); hold(ax1, 'all'); box(ax2, 'on'); hold(ax2, 'all'); box(ax3, 'on'); hold(ax3, 'all');
% Графік розподiлу (Залежність кількість випадків від величин) hnd1 = plot (ax1, hist_xxi, hist_yyi_fu);
% Графiк закону розподiлу (густина ймовiрностi) hnd2 = plot (ax2, hist_xxi, hist_yni_fu);
% Графiк функції розподiлу (інтеграл від густини ймовірності) hnd3 = plot (ax3, hist_xxi, hist_yfi_fu);
title (ax1, ' Розподiл', 'FontName', 'Arial Narrow'); % Назва title (ax2, 'Густина ймовiрностi ', 'FontName', 'Arial Narrow'); title (ax3, 'Функцiя розподiлу', 'FontName', 'Arial Narrow');
xlabel(ax1, nazva_pok_a, 'FontName','Arial Narrow'); % Назва xlabel(ax2, nazva_pok_a, 'FontName','Arial Narrow'); % осі xlabel(ax3, nazva_pok_a, 'FontName','Arial Narrow'); % аргументів
ylabel(ax1, 'Кiлькiсть випадкiв', 'FontName','Arial Narrow'); % Назва ylabel(ax2, 'Густина ймовiрностi', 'FontName','Arial Narrow'); % осей ylabel(ax3, 'Функцiя розподiлу', 'FontName','Arial Narrow'); % функцій
set(hnd1(1),'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-'); % Явно задані set(hnd2(1),'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-'); % опис ліній set(hnd3(1),'LineWidth',2, 'Color', [0 0 0], 'LineStyle', '-'); % на графіках
% Якщо задано признак зберігати графіки у файл if idd_save set (ff1,'PaperPositionMode','auto'); % Прийняти явно задані set (ff2,'PaperPositionMode','auto'); % розміри зображень set (ff3,'PaperPositionMode','auto'); % при збереженні
saveas(ff1, 'Rozpodil_demo.jpg'); % Явно задані назви файлів saveas(ff1, 'Rozpodil_demo.fig');
saveas(ff2, 'zakon_rozpodilu_demo.jpg'); saveas(ff2, 'zakon_rozpodilu_demo.fig');
saveas(ff3, 'fia_rozpodilu_demo.jpg'); saveas(ff3, 'fia_rozpodilu_demo.fig');
end; % if idd_save
end; % if idd_view %-------------------- Кінець програми вирахування розп оділу -----------------
Для встановлення розподілу достатньо задати значення вибірки, її назви та викликати програму вирахування розподілу.
%-------------- Приклад звертання до програми вирахування розподілу ----------- % Вибiрка, для якої порiбно встановити статистичний розподiл sample_a = [... 26; 20; 32; 19; 24; 32; 33; 38; 26; 28; 28; 26; 37; 29; 21; 26; 21;... 25; 17; 23; 30; 44; 36; 20; 23; 22; 23; 24; 22; 25; 25; 17; 24; 23;... 34; 22; 23; 22; 35; 23; 35; 30; 30; 26; 30; 24; 27; 20; 25; 24; 24;... 21; 18; 23; 24; 17; 19; 21; 23; 28; 28; 32; 18; 19; 27; 28; 22; 24;... 24; 19; 27; 45; 27; 27; 27; 22; 32; 27; 24; 26; 26; 26; 21; 23; 23;... 25; 26; 27; 28; 33; 29; 31; 31; 24; 30; 33; 26; 26; 27; 25; 29; 23;... 24; 23; 31; 26; 27; 23; 25];
% Назва вибiрки name_sample_a = 'Вiк матері';
% Виклик процедури, яка вираховує статистичний розподіл [xxxi, rozp_fu, rozn_fu, rozf_fu, rozp_sp, rozn_sp, rozf_sp, idd_ones ] =... create_rozpodil (sample_a, name_sample_a, 1, 1);
% Вивід показника точності idd_ones %-------------- Кінець прикладу ----------------------------------------------
Рис. А.1. Графік густини ймовірності, отриманий функцією create_rozpodil.
|
||||||
Последнее изменение этой страницы: 2016-06-19; просмотров: 377; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.66.147 (0.009 с.) |