Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > компонент Гистограмма


Автор: gordmiand 17.3.2008, 02:13
Подскажите пож-та:

1. существует ли сторонний компонент для билдера по построению гистограммы (именно гистограммы, а не столбцовой диаграммы в виде дискретных столбцов) - если да, то просьба дать ссылку(и) на его (компонента) скачивание и дать описание методики подключения сторонних компонентов к билдеру...
2. сущ-т ли готовые функции (а-ля матлабовские) по расчету спектральной плотности дисперсии, автокорреляционной функции, коэффициента вариации, СКО - если да, то просьба дать ссылку(и) на их скачивание...? 

Заранее всем ответившим спасибо!!!

Автор: pandrew 17.3.2008, 09:43
1.А чем собственно гистограмма отличается от любого линейного графика. Т.е. чем TChart плох?
2. Для расчета статистики есть несколько функций см. Statistical routines в справке. Математических пакетов полно, особенно учитывая, что автокорреляцию можно считать через БПФ. Я использую Intel® Signal Processing Library.
Что такое спектральная плотность дисперсии я не знаю. Гугл тоже. 

Автор: gordmiand 17.3.2008, 12:11
pandrew:

1. Для построения гистограммы при иcпользованиb графика TChart типа Bar он (этот график) тем плох, что строятся дискретные  столбцы данных (т.е. это не гистограмма, а столбцовая диаграмма)
2. что такое Statistical routines и в какой справке (справке чего?) его нужно смотреть?
   что такое Intel Signal Processing Library - это отдельный пакет (библиотека) по расчету сигналов? где его можно скачать + его описание (дайте ссылки пож-та)...

Автор: pandrew 17.3.2008, 13:41
1. Чтобы появился график ступеньками, достаточно раздвоить каждую точку данных.
2. У BCB существует справка - хелп. Наберите Statistical routines на странице поиск и будет счастье.
Существует уйма всевозможных сторонних библиотек с математикой
Про них можно почитать в интернете, например 
http://www.google.ru/search?hl=ru&q=Signal+Processing+Library&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=-1&oq=

Автор: gordmiand 17.3.2008, 23:54
pandrew:

поясните пож-та что значит "Чтобы появился график ступеньками, достаточно раздвоить каждую точку данных""
то есть я понимаю так, что если есть данные 1,2,3, то надо получить 0.5,0.5,1,1,1.5,1.5? и что далее - по ним строить график ступеньками? (но тогда будет в 2 раза больше столбцов чем это было изначально...) smile 




 и еще - исп-ие функций из Statistical routines:

прописываю в проекте:
Код


 extern PACKAGE Extended __fastcall Variance(const double * Data, const int Data_Size);

 extern PACKAGE double __fastcall MinValue(const double * Data, const int Data_Size);


void __fastcall TForm1::Button1Click(TObject *Sender)
{

 double mas[10]={0,23,-23,45,77,-2.234,11.34,21,0.34};

              Variance(mas[10],9);

              MinValue(mas[5],5);

}


ошибка на вызовах ф-ий - incompatible type conversion ?????


Автор: vivat 18.3.2008, 05:16
Цитата(gordmiand @  17.3.2008,  23:54 Найти цитируемый пост)
double mas[10]={0,23,-23,45,77,-2.234,11.34,21,0.34};

              Variance(mas[10],9);

              MinValue(mas[5],5);


Код

double mas[10]={0,23,-23,45,77,-2.234,11.34,21,0.34};

Variance(mas,9);
MinValue(mas,5);


Добавлено через 4 минуты и 48 секунд
Цитата(gordmiand @  17.3.2008,  23:54 Найти цитируемый пост)
поясните пож-та что значит "Чтобы появился график ступеньками, достаточно раздвоить каждую точку данных""
то есть я понимаю так, что если есть данные 1,2,3, то надо получить 0.5,0.5,1,1,1.5,1.5? и что далее - по ним строить график ступеньками? (но тогда будет в 2 раза больше столбцов чем это было изначально...) 

Откуда возьмутся столбцы, если вместо типа Bar надо выбрать тип Line?

Автор: pandrew 18.3.2008, 10:45
Вроде ответили.
Про график поясняю: функцией называются множество пар значений X,Y. Например: {(1,1),(2,2),(3,3)...} - это в школе объясняли. Если соединить эти точки, получится прямая.
Чтобы нарисовалось ступеньками преобразуем в другое множество {(0.5,1),{1.5,1},{1.5,2},{2.5,2},{2.5,3},{3.5,3}.... Если соединить эти точки получится график ступеньками (гистограмма).

Автор: gordmiand 18.3.2008, 12:19
по поводу графика ступеньками:
я так понимаю каждая точка (пара x,y) разбивается на две точки, у которых y=y "базовой точки", а х разбивается на 2: "+-a" - т.е.:

(x,y)->(x1=x-a, y1=y), (x2=x+a, y2=y),  ->  параметр "a" произвольно задается или x  "базовой точки" разбивается напополам (т.к. разбиение на 2 точки) (в примере pandrew а=0.5)?


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)