Matlab постройте гистограмму
Как нормализовать гистограмму в MATLAB?
Как нормализовать гистограмму так, чтобы площадь под функцией плотности вероятности была равна 1?
7 ответов
мой ответ на это такой же, как в ответе на ваш ранее вопрос. Для функции плотности вероятности, интеграл по всему пространству равен 1. Делением на сумму не дайте вам правильную плотность. Чтобы получить правильную плотность, вы должны разделить на площадь. Чтобы проиллюстрировать мою точку зрения, попробуйте следующий пример.
вы можете сами увидеть, какой метод согласуется с правильным ответом (красный кривая.)
другой метод (более простой, чем метод 2) для нормализации гистограммы-разделить на sum(f * dx) который выражает Интеграл функции плотности вероятности, т. е.
соответствующий PDF является
An улучшение, которое вполне может быть связано с успехом фактического вопроса и принятого ответа!
EDIT-использование hist и histc is не рекомендуется сейчас, и histogram должен использоваться вместо этого. Помните, что ни один из 6 способов создания бункеров с этой новой функцией будет производить закромах hist и histc производят. Существует скрипт Matlab для обновления бывшего кода в соответствии с way histogram вызывается (ребра bin вместо центров bin — ссылке). Таким образом, можно сравнить pdf методы нормализации из @abcd ( trapz и sum ) и Matlab ( pdf ).
3-х pdf метод нормализации дает почти идентичные результаты (в диапазоне eps ).
hist может не только построить гистограмму, но и вернуть вам количество элементов в каждом Бине, чтобы вы могли получить этот счет, нормализовать его, разделив каждый Бин на общую сумму и построив результат с помощью bar . Пример:
или если вы хотите ОДН-вкладыш:
документы:
Edit: это решение отвечает вопрос как получить сумму всех бункеров, равную 1. Это приближение допустимо только в том случае, если размер вашего Бина мал относительно дисперсии ваших данных. Сумма, используемая здесь, соответствует простой квадратурной формуле, более сложные могут быть использованы как trapz как предложил Р. М.
область для каждого отдельного бара-высота * ширина. Поскольку MATLAB выберет равноудаленные точки для баров, ширина будет:
теперь, если мы суммируем все отдельные бары, общая площадь выйдет как
таким образом, правильно масштабированный участок получается
область PDF abcd не одна, что невозможно, как указано во многих комментариях. Предположения, сделанные во многих ответах здесь
- предположим постоянное расстояние между последовательными ребрами.
- вероятность под pdf должен быть 1. Нормализация должна быть выполнена как Normalization С probability , а не Normalization С pdf , в гистограмме () и hist ().
рис. 1 Вывод подхода hist (), рис. 2 Вывод гистограммы() подходи!—22—>
максимальная амплитуда отличается между двумя подходами, которые предполагают, что в подходе hist () есть некоторая ошибка, потому что подход гистограммы () использует стандартную нормализацию. Я предполагаю, что ошибка с подходом hist () здесь заключается в нормализации как частично pdf не совсем так probability .
код с hist () [устарел]
- сначала проверьте: sum(f)/N дает 1 если Nbins установить вручную.
- pdf требует ширины ячейки ( dx ) в графе g
код с помощью histogram()
- первая проверка: a) sum(f) is 1 если Nbins скорректировано с нормализацией гистограммы () как вероятность, b) sum(f)/N is 1 если Nbins вручную без нормализации.
- pdf требует ширины ячейки ( dx ) в графе g
вывод на рис. 2 и ожидаемый результат выполнен: область 1.0000.
Matlab: 2016a
Система: Linux Ubuntu 16.04 64 бит
Ядро Linux 4.6
для некоторых дистрибутивов, Коши я думаю, я обнаружил, что trapz будет переоценивать область, и поэтому pdf будет меняться в зависимости от количества ячеек, которые вы выбираете. В этом случае я делаю
Matlab постройте гистограмму
Обычная графика MATLAB
Построение графиков точками и отрезками прямых
Графики в логарифмическоми полулогарифмическом масштабе
Гистограммы и диаграммы
Графики специальных типов
Создание массивов данных для трехмерной графики
Построение графиков трехмерных поверхностей, сечений и контуров
Средства управления подсветкой и обзором фигур
Средства оформления графиков
Одновременный вывод нескольких графиков
Управление цветовой палитрой
Окраска трехмерных поверхностей
Двумерные и трехмерные графические объекты
Одно из достоинств системы MATLAB — обилие средств графики, начиная от команд построения простых графиков функций одной переменной в декартовой системе координат и кончая комбинированными и презентационными графиками с элементами анимации, а также средствами проектирования графического пользовательского интерфейса (GUI). Особое внимание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов.
Описанию графических функций и команд посвящена обширная электронная книга в формате PDF. Объем материала по графике настолько велик, что помимо вводного описания графики в уроке 3 в этой книге даются еще два урока по средствам обычной и специальной графики. Они намеренно предшествуют систематизированному описанию большинства функций системы MATLAB, поскольку графическая визуализация вычислений довольно широко используется в последующих материалах книги. При этом графические средства системы доступны как в командном режиме вычислений, так и в программах. Этот урок рекомендуется изучать выборочно или выделить на него не менее 4 часов.
Построение графиков отрезками прямых
Функции одной переменной у(х) находят широкое применение в практике математических и других расчетов, а также в технике компьютерного математического моделирования. Для отображения таких функций используются графики в декартовой (прямоугольной) системе координат. При этом обычно строятся две оси — горизонтальная X и вертикальная Y, и задаются координаты х и у, определяющие узловые точки функции у(х). Эти точки соединяются друг с другом отрезками прямых, т. е. при построении графика осуществляется линейная интерполяция для промежуточных точек. Поскольку MATLAB — матричная система, совокупность точек у(х) задается векторами X и Y одинакового размера.
Команда plot служит для построения графиков функций в декартовой системе координат. Эта команда имеет ряд параметров, рассматриваемых ниже.
plot (X, Y) — строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X. Если X или Y — матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы.
Приведенный ниже пример иллюстрирует построение графиков двух функций — sin(x) и cos(x), значения функции которых содержатся в матрице Y, а значения аргумента х хранятся в векторе X:
На рис. 6.1 показан график функций из этого примера. В данном случае отчетливо видно, что график состоит из отрезков, и если вам нужно, чтобы отображаемая функция имела вид гладкой кривой, необходимо увеличить количество узловых точек. Расположение их может быть произвольным.
Рис. 6.1. Графики двух функций в декартовой системе координат
plot(Y) — строит график у(г), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то выполняется команда plot (real (Y). imag(Y)). Во всех других случаях мнимая часть данных игнорируется.
Вот пример использования команды plot(Y):
Соответствующий график показан на рис. 6.2.
Рис. 6.2. График функции, представляющей вектор Y с комплексными элементами
plot(X.Y.S) — аналогична команде plot(X.Y), но тип линии графика можно задавать с помощью строковой константы S.
Значениями константы S могут быть следующие символы.
Построение гистограммы
Очередной раз Здраствуйте Ребята))! Меня теперь интересует вот какой вопрос:
Как построить гистограмму в матлабе по определенному, ранее заданному массиву данных.
— Я поюзал функцию hist но она строит по случайным значениям, по различным законом распределения и только! А как вот нарисовать по необходимому массиву данных. Заранее спасибо.
Построение гистограммы
Добрый день! Такая проблема возникла: Функция hist в качестве второго возвращаемого значения (Rx).
Построение гистограммы!
Добрый день! Есть скрипт: disp(); d=; m=; s=; a=d+m/60+s/3600; disp(); d=; m=;
Построение гистограммы распределения чисел.
Добрый день! Возникла следующая проблема. Имеется некоторая матрица чисел, в диапазоне от 0 до.
Построение гистограммы без функции hist
Всем привет Мне нужно построить гистограмму без использования функции hist массив данных.
Спасибо)! Уточняю:
x=[2 4 5 6 7 8 12 45 56 123]
y=[8 1 9 4 2 1 23 32 51 412]
Вот, к примеру: нужно нарисовать так, чтобы значению столца X соответсвовал значени y!
Решение
Matlab M | ||||||||||||||||||||||||
14.06.2012, 11:44 [ТС] | 5 | |||||||||||||||||||||||
14.06.2012, 11:53 | 6 | |||||||||||||||||||||||
14.06.2012, 13:44 [ТС] | 7 | |||||||||||||||||||||||
14.06.2012, 14:39 | 8 | |||||||||||||||||||||||
Решение
|