Как построить гистограмму в матлабе
Перейти к содержимому

Как построить гистограмму в матлабе

  • автор:

Лабы / ОКМвТС лабы / лаб5_Построение гистограммы последовательности данных при пом среды Matlab

Построение гистограммы последовательности данных при помощи среды Matlab Цель работы: получение навыков построения гистограмм и работы с ними в среде Matlab. Часто при проведении физического эксперимента или компьютерного моделирования приходится иметь дело с большим объемом данных. Поэтому актуальным является вопрос их наглядного представления. Численные данные можно оформить в виде графиков или диаграмм различных видов. Можно привести следующие примеры диаграмм и графиков: линейная диаграмма, столбиковая диаграмма, полосчатая диаграмма, кумулятивная кривая (данные накапливаются с течением времени), пиктограмма (данные представляются в виде стилизованных изображений), логарифмическая диаграмма, круговая диаграмма и т.д. Гистограмма (столбиковая диаграмма) – это последовательность столбцов, каждый из которых опирается на один раздельный интервал, а высота столбца – это частота или количество случаев. Принято распределять горизонтальную шкалу на один раздельный интервал вправо и влево от полученного диапазона. Середина столбца совмещается с серединой интервала, на практике ее обычно изображают в форме контура, опуская вертикальные линии. Наряду с понятием «гистограмма» используется понятие «полигон распределения». Полигон распределения – это та же гистограмма, но линии соединяют середины столбцов каждого разрядного интервала. Так как на разрядах справа и слева от разрядов распределения частот, частота имеет нулевое значение, поэтому полигон распределения продолжают до горизонтальной оси в середине интервала ниже меньшей оценки и выше высшей оценки. Гистограмма наиболее легка для восприятия и используется в тех случаях когда всего одно распределение. Если надо сравнить два или более распределений, используют полигон, чтобы избежать запутанной картины. При построении гистограммы (т.е. графического изображения распределения некоторой величины) необходимо задавать определенное число бинов, определяя тем самым, сколько данных попадет в каждый бин и графически изображать это в виде столбиковой или ступенчатой диаграммы. Бин – это число разбиений переменной на интервалы, относительно которой и будет вычисляться и строиться распределение. Например, если студенты имеют рост от 150 см до 200 см, то можно разбить этот интервал ростов на 10 бинов, по 5 см в каждом, т.е это интервалы от 150см до 155см и т.д. Итак , гистограмма показывает сколько студентов попадает в каждый интервал ростов или бинов. В Matlab существует функция hist, которая при обращении к ней в виде hist(y) вычисляет и рисует гистограмму с 10 бинами, равномерно распределенными между y max и y min . Кроме того, функция hist(y) может иметь второй аргумент. Если этот аргумент – целое число, то это число определяет число бинов. Если второй аргумент – вектор, то этот вектор определяет центры используемых бинов. В этом случае центры бинов должны быть равноотстоящими, а координаты этих центров должны быть расположены в возрастающем порядке. При нарушении любого из этих условий результат становится непредсказуемым. Классическая гистограмма характеризует числа попаданий значений элементов вектора Y в М интервалов с представлением этих чисел в виде столбцовой диаграммы. Для получения данных для гистограммы функция hist (у) может быть записана следующим образом: N=hist(Y) возвращает вектор чисел попаданий для 10 интервалов, выбираемых автоматически. Если Y – матрица, то выдается массив данных о числе попаданий для ее столбцов. N=hist(Y,М) аналогична рассмотренной выше команде, но используется М интервалов (где М – скаляр). N=hist(Y,Х). Данная команда возвращает числа попаданий элементов вектора Y в интервалы, центры которых заданы элементами вектора Х. Пример. Построить гистограмму для 1000 случайных чисел и вывести вектор с данными о

числах их попаданий в интервалы, заданные вектором х. Значения вектора х лежат в пределах от -3 до 3 с интервалом 0.2. >> x=-3:0.2:3; % Задаются значения вектора х. >> y=randn(1000,1); % Создается массив случайных чисел >> hist(y,x) % Производится построение гистограммы В результате запуска приведенной программы на экран будет выведен график, показанных на рис.1. Как видно из рис.1, распределение случайных чисел близко к нормальному закону. Еще большее соответствие этому закону можно наблюдать, если увеличить количество случайных чисел.

Рис.1. Пример построения графика гистограммы.

Редактирование гистограммы возможно при помощи Property Editor. Для вызова Property Editor нужно щелкнуть правой кнопкой мыши по гистограмме и в появившемся диалоговом окошке выбрать опцию Properties. Откроется диалоговое окно Property Editor. Рассмотрим некоторые возможности обработки гистограммы при помощи Property Editor. Выберите опцию Data / Colormaps и щелкните по ней мышкой. Появится перечень возможных цветовых гамм. Изменить цвет гистограммы можно, выбрав любую цветовую гамму из перечня. Изменить цвет гистограммы можно также, выбрав опцию Face / Color. Выбор опции Set wireframe (hide) не будет закрашен- ной, а будет представлена только в виде контурных линий. Применение опции Set point cloud (hide) приведет к тому, что вместо гистограммы на графике будет отображаться набор соответствующих точек. Вернуть исходный вид гистограммы в виде столбиков можно при помощи Ste solid.

Опция Maker / Edges также предназначена для изменения вида отображения гистограммы. Выбрав Style, можно изменить вид символов, отображающих точки, по которым построена гистограмма. Размер этих символов задается при помощи Size. Цвет контура символов определяется Edge color, а цвет самих символов – Face color. При помощи Line style можно изменить тип линий, использующихся для отображения столбиков линий гистограммы, т.е. сделать линии пунктирными (Dashed line), в виде точек (Dotted line), точек и пунктиров (Dash-dot line) или вообще не использовать контурные линии для отображения столбиков (No line (none)). По умолчанию устанавливается опция Solid line (сплошная линия). Толщина контурных линий определяется при помощи Line width, их цвет – при помощи Edge color. Задание 1. Получите график, показанный на рис.1. Получив график, измените: 1) цвет гистограммы; 2) вид и размер символов, отображающих точки, по которым построена гистограмма; 3) тип и толщину контурных линий, использующихся для отображения столбиков линий гистограммы. 2. Получите аналогичный график, используя в 100 раз большее количество случайных чисел. 3. Постройте гистограмму распределения концентрации электронов n i в зависимости от про-

странственного шага i согласно отображению, описываемому соотношением
n i 1 n i sign i cos 2 a p i n i 1 . Начальную концентрацию электронов в относи-
тельных единицах можно принять равной n 1 =1, концентрацию примесей – a =1/2, кон-
центрацию дырок – p 1, показатель скейлинга – 2.806 , i 1. N , где N 500. i —

случайное число, имеющее различные значения для каждого i . Литература 1. Коткин Г.Л., Черкасский В.С. Компьютерное моделирование физических процессов : Учеб. Пособие/Новосиб. ун- т. Новосибирск, 1999 — 128 с. 2. Дьяконов В.П. Matlab 6.5 SP1/7+Simulink 5/6. Основы применения. – М.: СОЛОН-Пресс, 2005. – 800 с. 3. Мэтьюз Дж.Г., Финк К.Д. Численные методы. Использование Matlab. – М.: Изд. дом «Вильямс», 2001. – 720 с.

Иллюстрированный самоучитель по MatLab

Классическая гистограмма характеризует числа попаданий значений элементов вектора Y в М интервалов с представлением этих чисел в виде столбцовой диаграммы. Для получения данных для гистограммы служит функция hist, записываемая в следующем виде:

  • N=hist(Y) – возвращает вектор чисел попаданий для 10 интервалов, выбираемых автоматически. Если Y – матрица, то выдается массив данных о числе попаданий для каждого из ее столбцов;
  • N=hist(Y,M) – аналогична вышерассмотренной, но используется М интервалов (М – скаляр);
  • N=hist(Y.X) – возвращает числа попаданий элементов вектора Y в интервалы, центры которых заданы элементами вектора X;
  • [N,X]=HIST(…) – возвращает числа попаданий в интервалы и данные о центрах интервалов.

Команда hist(…) с синтаксисом, аналогичным приведенному выше, строит график гистограммы. В следующем примере строится гистограмма для 1000 случайных чисел и выводится вектор с данными о числах их попаданий в интервалы, заданные вектором х:

> > x = — 3 : 0.2 : 3 ;
> > y = randn( 1000.1 );
Columns 1 through 12
0 0 3 7 8 9 11 23 33 43 57 55
Columns 13 through 24
70 62 83 87 93 68 70 65 41 35 27 21
Columns 25 through 31
12 5 6 3 2 1 0

Построенная гистограмма показана на рисунке 6.8.

Рис. 6.8. Пример построения гистограммы

Нетрудно заметить, что распределение случайных чисел близко к нормальному закону. Увеличив их количество, можно наблюдать еще большее соответствие этому закону.

РЕКЛАМА
СОДЕРЖАНИЕ
  • Введение
  • Знакомство с матричной лабораторией MATLAB
  • Установка системы и первые навыки работы
  • Основы графической визуализации вычислений
  • Работа со справкой и примерами
  • Пользовательский интерфейс MATLAB
  • Обычная графика MATLAB
    • Построение графиков отрезками прямых
    • Графики в логарифмическом масштабе
    • Графики в полулогарифмическом масштабе
    • Столбцовые диаграммы
    • Построение гистограмм
    • Лестничные графики – команды stairs
    • Графики с зонами погрешности
    • График дискретных отсчетов функции
    • Графики в полярной системе координат
    • Угловые гистограммы
    • Графики векторов
    • График проекций векторов на плоскость
    • Контурные графики
    • Создание массивов данных для трехмерной графики
    • Графики поля градиентов quiver
    • Построение графиков поверхностей
    • Сетчатые 3D-графики с окраской
    • Сетчатые 3D-графики с проекциями
    • Построение поверхности столбцами
    • Построение поверхности с окраской
    • Построение поверхности и ее проекции
    • Построение освещенной поверхности
    • Средства управления подсветкой и обзором фигур. Построение графиков функций трех переменных.
    • График трехмерной слоеной поверхности
    • Tрехмерные контурные графики
    • Установка титульной надписи. Установка осевых надписей.
    • Ввод текста в любое место графика
    • Позиционирование текста с помощью мыши
    • Вывод пояснений
    • Маркировка линий уровня на контурных графиках
    • Управление свойствами осей графиков
    • Включение и выключение сетки
    • Наложение графиков друг на друга
    • Разбиение графического окна
    • Изменение масштаба графика
    • Установка палитры цветов
    • Установка соответствия между палитрой цветов и масштабом осей. Окраска поверхностей.
    • Установка палитры псевдоцветов
    • Создание закрашенного многоугольника
    • Окраска плоских многоугольников
    • Вывод шкалы цветов
    • Цветные плоские круговые диаграммы. Другие команды управления световыми эффектами.
    • Окрашенные многоугольники в пространстве
    • Цветные объемные круговые диаграммы
    • Построение цилиндра
    • Построение сферы
    • Трехмерная графика с треугольными плоскостями

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.

    Построение гистограммы

    Author24 — интернет-сервис помощи студентам

    Очередной раз Здраствуйте Ребята))! Меня теперь интересует вот какой вопрос:

    Как построить гистограмму в матлабе по определенному, ранее заданному массиву данных.

    — Я поюзал функцию hist но она строит по случайным значениям, по различным законом распределения и только! А как вот нарисовать по необходимому массиву данных. Заранее спасибо.

    Лучшие ответы ( 2 )
    94731 / 64177 / 26122
    Регистрация: 12.04.2006
    Сообщений: 116,782
    Ответы с готовыми решениями:

    Построение гистограммы
    Добрый день! Такая проблема возникла: Функция hist в качестве второго возвращаемого значения (Rx).

    Построение гистограммы!
    Добрый день! Есть скрипт: disp(); d=; m=; s=; a=d+m/60+s/3600; disp(); d=; m=;

    Построение гистограммы распределения чисел.
    Добрый день! Возникла следующая проблема. Имеется некоторая матрица чисел, в диапазоне от 0 до.

    Построение гистограммы без функции hist
    Всем привет Мне нужно построить гистограмму без использования функции hist массив данных.

    5236 / 3564 / 378
    Регистрация: 02.04.2012
    Сообщений: 6,471
    Записей в блоге: 17

    Я мало что понял из того что тебе нужно, но подозреваю, что поможет ф-ция bar, кторая рисует столбики по точкам. Синтаксис ф-ции bar такой же как и ф-ции plot.
    А ф-ция hist является частным случаем ф-ции bar ей все-равно какой массив ты ей скормишь — случайный или нет, но нужно понимать механизм ее работы. Вначале она находит диапазон входного массива v от min(v) до max(v), делит его на n равных частей (n по умолчанию =10 или можно задать вручную), считает для каждого диапазона количество элементов массива, которые попадают в него и строит bar(x,y), где x — начало поддиапазона, y — количество элементов в нем.

    Регистрация: 11.06.2012
    Сообщений: 33

    Спасибо)! Уточняю:
    x=[2 4 5 6 7 8 12 45 56 123]
    y=[8 1 9 4 2 1 23 32 51 412]

    Вот, к примеру: нужно нарисовать так, чтобы значению столца X соответсвовал значени y!

    5236 / 3564 / 378
    Регистрация: 02.04.2012
    Сообщений: 6,471
    Записей в блоге: 17

    Лучший ответ

    Сообщение было отмечено как решение

    Решение

    1 2 3 4 5 6
    clear; clc; x=[2 4 5 6 7 8 12 45 56 123]; y=[8 1 9 4 2 1 23 32 51 412]; bar(x,y) grid on

    Построение гистограмм MatLab

    Классическая гистограмма характеризует числа попаданий значений элементов вектора Y в М интервалов с представлением этих чисел в виде столбцовой диаграммы. Для получения данных для гистограммы служит функция hist, записываемая в следующем виде:

    N=hist(Y) — возвращает вектор чисел попаданий для 10 интервалов, выбираемых автоматически. Если Y — матрица, то выдается массив данных о числе попаданий для каждого из ее столбцов;

    N=hist(Y,M) — аналогична вышерассмотренной, но используется М интервалов (М — скаляр);

    N=hist(Y.X) — возвращает числа попаданий элементов вектора Y в интервалы, центры которых заданы элементами вектора X;

    [N,X]=HIST(. ) — возвращает числа попаданий в интервалы и данные о центрах интервалов.

    Команда hist(. ) с синтаксисом, аналогичным приведенному выше, строит график гистограммы. В следующем примере строится гистограмма для 1000 случайных чисел и выводится вектор с данными о числах их попаданий в интервалы, заданные вектором х:

    Columns 1 through 12

    0 0 3 7 8 9 11 23 33 43 57 55

    Columns 13 through 24

    70 62 83 87 93 68 70 65 41 35 27 21

    Columns 25 through 31

    Построенная гистограмма показана на рис. 6.8.

    Рис. 6.8. Пример построения гистограммы

    Нетрудно заметить, что распределение случайных чисел близко к нормальному закону. Увеличив их количество, можно наблюдать еще большее соответствие этому закону.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *