LINUX.ORG.RU

Статистическая программа


0

0

Вот, сделал первое приближение к шареварному DataFit. - Среда разработки - FreePascal+Lazarus - Кодировка - cp1251, будет и koi8-r - язык - русский, когда-нибудь будет и английский Возможности: - Создание и сохранение шаблонов функций - Поиск коэффициентов регрессии по шаблону функции (пока не используется градиент) - Создание и сохранение таблицы с независимыми и зависимой переменной - Расчёт критерия Фишера (F-ratio), возможно, с ошибкой - Расчёт и вывод в таблицу расчётного значения зависимой переменной

Недоработки: 1. Алгоритм поиска минимума пока служит, скорее, для проверки возможности 2. Распознавание формул не включает многих математических функций 3. Нет хорошего статистического анализа.

>>> Страница проекта на SourceForge

FoodTechnologist - respect!
Можно узнать цель твоей работы (т.е. для чего ты это писал: работа, учеба?)
Жалко что на паскале... :(

anonymous
()
Ответ на: комментарий от anonymous

> Можно узнать цель твоей работы (т.е. для чего ты это писал: работа, учеба?)
А ты на страничку проекта на sourceforge зайди и посмотри его username -
сразу поймёшь:)

anonymous
()

Чем не устраивает R, что потребовалось делать отдельный проект для фитинга данных?

anonymous
()

Ну как можно делать программы на убогом глючном Борландовском языке?!! В то время, как космические корабли под управлением языка Це бороздят просторы вселенной...

Xop_AnonumycoB
()
Ответ на: комментарий от Xop_AnonumycoB

> Ну как можно делать программы на убогом глючном Борландовском языке?!!
причем тут борланд??

anonymous
()
Ответ на: комментарий от Xop_AnonumycoB

>корабли под управлением языка Це бороздят просторы вселенной... Конечно мощно задвинул но паскалем и Apple занималась

anonymous
()
Ответ на: комментарий от anonymous

Для чего? И то, и другое, и третье. По диссертации я вряд ли это уже применю (я уже закончил аспирантуру с представлением диссертации, осталось её доработать и защитить, а программа здесь не нужна). Как-то кафедре была нужна подобная программа, я создал нечто другое, более монстрообразное и менее универсальное, его для галочки записали... А вот теперь... Другие соискатели много раз просили меня помочь им с DataFit, а я решил сделать что-то подобное. Что не на Ц? А зачем мне это непонятно что нужно? То ли дело - паскаль! Сколько ни сталкивался с Си - не моё... У человека есть родной язык, а всё остальное - так себе. Вот и паскаль для меня - вытеснил бейсик - и всё. Кстати, о Ц. Где ваш си с плюсами (гну, разумеется) свойства поддерживает?

FoodTechnologist
() автор топика
Ответ на: комментарий от anonymous

R Вы правы, сейчас посмотрю, что это. Знаю probability and statistic utilites, но это не то.

FoodTechnologist
() автор топика
Ответ на: комментарий от FoodTechnologist

Да мы и без них обходимся как-то, и ничего. Qt вон рулит...

anonymous
()
Ответ на: комментарий от FoodTechnologist

>Где ваш си с плюсами (гну, разумеется) свойства поддерживает?

Зачем нужна специальная поддержка, если подобная хрень достаточно легко имитируется стандартными средствами С++? А паскаль - изначально убогий язык, вот и приходится заниматься "усовершенствованиями".

anonymous050
()
Ответ на: комментарий от FoodTechnologist

> Вот и паскаль для меня - вытеснил бейсик - и всё. Кстати, о Ц. Где ваш си с плюсами (гну, разумеется) свойства поддерживает?

Там же где паскаль поддерживает шаблоны.

PS А где в паскале call/cc?

anonymous
()

Интересно а был ли сделан обзор уже по существующим програмам.

Предлагаю для обзора root (root.cern.ch) и paw/cernlib (http://wwwinfo.cern.ch/asdoc/cernlib.html) Эти программы (особенно вторая) уже давно служат основными инструментами для анализа данных в физике высоких энергий.

Лучше, чтобы что-то новое на их основе - там есть всё и даже больше. А отсутствие развесистого интерфейса сильно ускоряет работу (смотреть что такое paw++ и почему его никто неиспользует)

С уважением Евгений

Evgueni ★★★★★
()
Ответ на: комментарий от Xop_AnonumycoB

>В то время, как космические корабли под управлением языка Це бороздят просторы вселенной...

Вообще-то для бортовых систем в NASA применялась Ада (по крайней мере в 80-90е годы). А до этого был Hal/S, основаный на XPL.

http://www.hq.nasa.gov/office/pao/History/computers/Appendix-II.html

В системах от WindRiver активно применяется C, с этим не поспоришь.

teletype
()
Ответ на: комментарий от anonymous

вступлюсь за автора программы.
как мне кажется, статистические расчёты - высокоуровневое программирование, главное в них удобство вычислений. всё остальное отходит на второй план. зачем нужны шаблоны, продвинутое ООП? вон, в фортран - вообще плоская штука, но сколько его использавали для научных работ? и ничего.

anonymous
()
Ответ на: комментарий от anonymous

> в фортран - вообще плоская штука, но сколько его использавали для научных работ? и ничего.

просто ничего другого не было.

anonymous
()

FreePascal - что за штука? К стати, как обстоят дела сейчас с GNU компилятами Pascal.

Сам язык Pascal хорош в качестве первого языка для изучения программирования. Вот имею желание его советовать начинающим, но не на TurboPascal же их отправлять? :) Delphi/Kylix думаю слишком громоздкая штука для новичков, да и ориентрирована на быструю разработку оконных прог, что будет только отвлекать. C, C++ не очень хороши как языки для изучения (много неочевидных тонких моментов, тем не менее важных, которые только зря сбивают с толку). Java - изначально на идеологии OOП, хотя не очень последователен (например разделение классов и примитивных типов - некрасиво).

NiKel
()
Ответ на: комментарий от AVL2

> что самое интересное - и сейчас ничего нет.

> Как был floq3d на фортране, так и сейчас на нем же.

Что такое floq3d? Если это FLOW-3D имелся ввиду, то думается мне, что просто некому переписывать его на чём-то другом (к примеру, на C++/Blitz++/FFTW), да и экономически нецелесообразно это будет.

Vond ★★
()
Ответ на: комментарий от AVL2

+

>что самое интересное - и сейчас ничего нет.

Что значит нет ?

>Как был floq3d на фортране, так и сейчас на нем же.

А какой смысл менять язык уже устоявшегося продукта Кстати совсем не выдающегося ImHO

Просто цикл жизни CFD пакетов куда более продолжителен чем ПО общего назначения - переписать старый или написать новый не опираясь на старые наработки дело довольно хлопотное

BTW: в CFD соотношение FORTRAN - C/C++

Где-то 50:50

sS ★★★★★
()
Ответ на: комментарий от anonymous

>Господа, где-нить CERNLIB или NAG в исходиках можно разжиться?

NAG по-моему нет. А CERNLIB давно уже гнусный - посмотреть по ссылке, которую я давал ранее.

С уважением Евгений

Evgueni ★★★★★
()
Ответ на: комментарий от genix

genix

> Советовать в качесвте первого языка нужно python, а никак не паскаль.

Насчет питона тоже думал - самый близкий и удобный для этих целей язык. Однако: 1) интерпретируемый язык; 2) бурно развивающийся, постоянно в нем что-то добавляется или изменяется (в отличие от его успешного и уже давно сформировавшегося конкурента Perl-a, но Perl, наверное один из худших вариантов для самого первого языка программирования), из за чего может и так мало литературы или она слишком дорогая (видел летом перевод O'REILLY Programming Python за 900 рублей); 3) хоть и перспективный, но недостаточно популярный и используемый, в общем потребуется еще убеждать зачем он нужен и почему такой медленный.. (в этом смысле 1) и 3) можно было бы объединить). Известность языка для начинающих - своего рода дополнительный стимул, из за чего многие хватаются сразу за C++ и почему я склоняюсь все более к Java, сразу на базе OOП подхода, несмотря на некоторые его недостатки и сложность технологий с ним связанных.

В общем реально 3 кандидата: Pascal (если он еще того стоит), Python и Java.

NiKel
()
Ответ на: комментарий от NiKel

FreePascal - компилятор паскаля под GPL. От GNU Pascal отличается тем, что написан на паскале (сам собирает себя) и поддерживает больше функций.

FoodTechnologist
() автор топика
Ответ на: комментарий от anonymous

Как я заметил (хотя ещё и не успел хорошо познакомиться, минут 15 ночью гонял), r-project - это просто ещё один язык программирования. Высокоуровневый - да. Но нужен ли он, особенно здесь? Я-то, если очень захочу, может, с ним и разберусь, но рекомендовать такое студентам, да и даже аспирантам некомпьютерных направлений... Это - просто издевательство. Возможно, где-то с ним есть хороший интерфейс пользователя (или отдельно), но я его пока не нашёл. Найду - оценю.

Про шаблоны - зачем они паскалю? И в каком виде? (я с ними мало сталкивался, видел только при сборке всякого под С++) В принципе, тот механизм форм, который реализован в Delphi и Lazarus, не думаю, что хуже. А по наворачиваемости - это что... С типом Variant, да ещё переописанием операторов, да теми же макросами такого можно накрутить!

FoodTechnologist
() автор топика
Ответ на: комментарий от anonymous

> как мне кажется, статистические расчёты - высокоуровневое программирование, главное в них удобство вычислений. всё остальное отходит на второй план. зачем нужны шаблоны, продвинутое ООП?

продвинутое ООП в языке нафиг не нужно, это работа препроцессора. Шаблоны это тоже продвинутый препроцессор.

dilmah ★★★★★
()
Ответ на: комментарий от anonymous

Шаблоны, множестенное наследование
ссылки/указатели, переопределение
- все это лишние сущности, усложняющие язык,
усложняющие процесс понимания и написания программ
---> Pascal рулит

anonymous
()
Ответ на: комментарий от anonymous

Для обхода граблей в конструкторе копии.

anonymous
()
Ответ на: комментарий от anonymous

Не может рулить язык, где нет

а) сборщика мусора,

б) разбора по образцу (или продвинутых макросов, на которых это можно сделать).

А лишних сущностей в паскале - дофига. Слошные объвайленные антило-рипыты.

anonymous
()
Ответ на: комментарий от FoodTechnologist

Я плакалЪ...

>>r-project - это просто ещё один язык программирования.
И не только. + библиотеки для статистической обработки данных.
>>рекомендовать такое студентам, да и даже аспирантам некомпьютерных направлений... Это - просто издевательство.
Напрасно вы так считаете. Я не очень понимаю как сейчас можно заниматься статистикой и не знать ни одного языка программирования (а R в данном случае вариант получше, чем паскаль).
>>Возможно, где-то с ним есть хороший интерфейс пользователя (или отдельно), но я его пока не нашёл.
Плохо искали - на главной странице под шапкой RGuis ссылки на несколько таких проектов (Pmg - poor man GUI, R Commander, RGnumeric - плагин для гнумерика). Могу еще на самого себя сослаться - http://www.hppi.troitsk.ru/Kondrin/disgrace.htm - пакет для построения динамических графиков в R.
Сделать GUI для R (переписать например ваш проект целиком на R) задача несложная - в R ести биндинги для Tk и GTK(-1.2). Причем проблемы
>>1. Алгоритм поиска минимума пока служит, скорее, для проверки возможности 2. Распознавание формул не включает многих математических функций 3. Нет хорошего статистического анализа.
в таком случае решаются автоматически (R легко делает eval/parse самого себя) и не нужно писать доморошенный парсер (что пользователю вашей программы нужно сделать, чтобы использовать не просто "sin" "tg" а например sin(2*pi*(x+30)/360)-?)

geekkoo
()
Ответ на: комментарий от anonymous

>Не может рулить язык, где нет
>а) сборщика мусора,
а самому мусор убрать никак?
>б) разбора по образцу (или продвинутых макросов, на которых это можно >сделать).
что вы имели в виду? scanf что-ли?
>А лишних сущностей в паскале - дофига. Слошные объвайленные >антило-рипыты.
поконкретнее пожалуйста

anonymous
()
Ответ на: Я плакалЪ... от geekkoo

Плач дальше.

> Напрасно вы так считаете. Я не очень понимаю как сейчас можно заниматься статистикой и не знать ни одного языка программирования (а R в данном случае вариант получше, чем паскаль).

Так рассуждает только 1) либо идиот 2) либо программист

Человеку для занятий статистикой (и вообще для любой деятельности) необходимы соотвествующие инструменты. А программирование один из инструментов создания инструментов (во каламбур-то :-)) ). И идиот тот, кто возводит создание инструментов в религию.

ИМХО.

Остров.

ЗЫ. Впомним Ирси и интерфейс? :-))

anonymous
()
Ответ на: комментарий от anonymous

не, ну че, ну елы палы, шо флейма Object Pascal vs С++ не будет
что-ли а?....

anonymous
()
Ответ на: комментарий от anonymous

Остров, можно вопрос? Вы какое отношение к статистике имеете?

> Человеку для занятий статистикой (и вообще для любой деятельности) необходимы соотвествующие инструменты. А программирование один из инструментов создания инструментов (во каламбур-то :-)) ). И идиот тот, кто возводит создание инструментов в религию.

Специализированные языки программирования + специализированные библиотеки как раз и являются инструментами для решения задач в своих предметных областях.

anonymous
()
Ответ на: Я плакалЪ... от geekkoo

>>Напрасно вы так считаете. Я не очень понимаю как сейчас можно заниматься статистикой и не знать ни
одного языка программирования
Ы!
Статистикой занимается всякий, кому надо обработать данные.
Данные надо обработать любому порядочному учёному - или тому, кто хочет им стать.
А сейчас языки программирования ЗНАЕТ всё меньшая доля тех, кто работает с компьютером.
Слышали когда-то - да, многие. Но чтобы написать очень простую программку - это уже не для всех.
Из всех присутствующих у нас на кафедре аспирантов, соискателей и др. (не менее 11) написать какую-никакую программу могут только 3 (включая меня).
А данные обрабатывать надо всем. С компьютером, впрочем, работают все.
>>(что пользователю вашей программы нужно сделать, чтобы использовать не просто "sin" "tg" а например sin(2*pi*(x+30)/360)-?)
Не вижу НИКАКИХ проблем. Если Вы смотрели модуль Fored.pas, то должны были понять,
что именно такое он и обрабатывает. Пользователю достаточно (уже сейчас) ввести лишь шаблон
функции от нескольких переменных (например, a*sin(x1)+моя_константа*cos(tg(sin(x2^3/другая_константа))).
Проблема здесь пока в дефиците функций и невозможности (пока) ввода самим пользователем своих собственных функций.

FoodTechnologist
() автор топика
Ответ на: комментарий от FoodTechnologist

> Из всех присутствующих у нас на кафедре аспирантов, соискателей и др. (не менее 11) написать какую-никакую программу могут только 3 (включая меня).

Что за кафедра, какой ВУЗ? Может по-честному в аспирантуре должны быть лишь 3 (включая вас), а остальные от армии косят?

К примеру, я уверен, что на кафедрах тервера и матстата мехмата МГУ не менее 75% аспирантов могут запрограммировать то, что им нужно.

Vond ★★
()
Ответ на: комментарий от FoodTechnologist

Я плакалЪ...

>>Проблема здесь пока в дефиците функций и невозможности (пока) ввода самим пользователем своих собственных функций.
те проблема в том, что FreeStat пока что еше не является полноценным языком программирования? Или вы рассчитываете поиметь интерпретатор паскаля?
FoodTech. признайте, что паскаль - мертв. Название Lazarus говорит само за себя.

geekkoo
()
Ответ на: комментарий от FoodTechnologist

Уважаемый FoodTechnologist, по-моему Вы хотите изобретать велосипед. Не осложняйте себе жизнь, и используйте инструменты специально заточенные под описанную Вами задачу, каким например является R. R это не только высокоуровневый язык програмирования, но еще и огромная библиотека статистических методов, импорт данных из множества форматов, визуализация, модуль для создания гуя, и много чего другого. Из опыта использования этого пакета скажу, что необходимость использовать его как язык програмирования возникает довольно редко. Обычно используешь библиотечные функции, набирая их в командной строке интерактивно, или оформляя все в виде скрипта. Чаще всего скрипт, включающий импорт, обработку и визуализацию занимает не больше пары десятков строк.

Попробуйте как-нибудь профитить Ваши данные используя R, и убедитесь как это легко.

> Из всех присутствующих у нас на кафедре аспирантов, соискателей и др. (не менее 11) написать какую-никакую программу могут только 3 (включая меня).

Ситуация удручающая.

По-моему, человек, который решил заниматься естественными науками сегодня обязательно должен знать две вещи: 1) Английский язык; 2) Один из языков программирования. И то и другое постоянно требуется применять.

yvv ★★☆
()
Ответ на: Я плакалЪ... от geekkoo

Паскаль? Мёртв? Вы что, с Луны свалились? Да, для отдельных линуксоидов, которые кроме си и созданных на основе его идеологии интерпретаторов ничего не знают, паскаль давно мёртв... Между тем, особенно в России, паскаль известен и используется широко... Очено широко. Уже то, что это - основной (и, вообще-то, для большинства - единственный, хотя, конечно, есть и исключения) язык программирования, изучаемый в вузах, о чём-то говорит. А с развитием FreePascal можно сказать, что паскаль в нормальном виде пришёл и в линукс. Про R. Это - сомнительный инструмент... Во-первых, это - интерпретатор, причём весьма громоздкий (меньше некоторых, но...). Во-вторых - это - совсем другой язык, а вместо изучения другого языка чаще всего бывает более рационально написать несколько лишних строчек на "родном". Про "удручающую ситуацию". Это - вполне нормальная ситуация. Добро пожаловать на Землю, где компьютер для нормального человека - нечто страшное, а знание ворда и экселя - норма (хорошее знание - верх) владения компьютером. Да, ситуация была бы удручающая, если бы кафедра была связана с программированием или, хотя бы, математикой. Но это - кафедра технологии пищевых производств, даже не естественные науки.

FoodTechnologist
() автор топика
Ответ на: комментарий от Vond

>> Может по-честному в аспирантуре должны быть лишь 3 (включая вас), а остальные от армии косят? От армии-то? С нашей военно-учётной специальностью? ВУЗ - Мурманский государственный технический университет. Кафедра - технологии пищевых производств. Специальности - 05.18.04 и 05.18.12 Сейчас очных аспирантов на кафедре всего 3 (меня уже в их числе нет, я после представления готовлюсь и жду предзащиты, в общем, у меня все данные обработаны). Двое, что сразу после ВУЗа - те разбираются, знают и языки прогр-я (ну и я на два года раньше). Остальные - нет, и им этого НЕ НУЖНО (а, действительно, ЗАЧЕМ?). Им бы с математикой (включая статистику) разобраться - и так все ворчат: технология же, зачем ещё математика; студенты последнего курса нашего факультета мне ответить не могут, зачем вообще граничные условия нужны для дифф. уравнений...

FoodTechnologist
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.