2013-10-13 6 views
3

Позволяет ли модуль Math или какой-либо другой модуль получать доступ к статистическим таблицам из Delphi? Например, если мне нужно значение таблицы F для уровня значимости 0,05 и 2 и 10 градусов свободы, я набираю FINV (0,05, 2, 10) в Excel и получаю 4.1028. В Delphi есть что-то подобное? Благодарю.Статистические таблицы в программе Delphi

+2

['SDL Component Suite - Statis'] (http://www.lohninger.com/statis.html), вероятно, выполнит эту работу. Другая возможность - запрограммировать функцию самостоятельно. Или посмотрите на это ['AlgLib F Distribution'] (http://www.alglib.net/specialfunctions/distributions/f.php). –

+0

Прохладный материал AlgLib даже имеет загрузку Delphi! –

ответ

0

Delphi не несет с собой ничего подобного. Вам нужно будет найти сторонний код.

Всякий раз, когда я сталкиваюсь с реализацией что-то вроде этого я делаю это:

  • Найти некоторые Fortran 77 код
  • преобразовать его в C с f2c -a
  • компилировать в объектный файл с C компилятор
  • Ссылка статически с $ L

более простой подход будет компилировать в DLL, но я избегаю, что для простоты O f.

+0

ОК. Ясно, что это выходит за рамки моих нынешних возможностей. Поэтому я должен думать о другом. Спасибо, @David. – Serge

+0

Downvote? Как ни странно, это единственный ответ, который фактически решает вопрос, который был задан: * Является ли блок математики или какой-либо другой единицы доступ к статистическим таблицам из Delphi?* –

+0

@David На самом деле, ваш + это + единственный ответ, который решает вопрос, потому что другие вопросы также содержат ссылки на блоки Delphi, которые предоставляют статистические таблицы. (Вопрос не указывает, что это должны быть единицы, которые поставляются с Delphi.) [Но не знаю, почему downvote.] – PhiS

0

У меня было много хорошего опыта работы с TPMath/DMath library, чтобы обеспечить статистическую функциональность в Delphi. Эта библиотека утверждает, что обеспечивает аналогичную функциональность, как широко известный Numerical Recipes, но поскольку я, конечно, только когда-либо использовал небольшую подмножество своих функций, я не знаю, действительно ли это выполняет это обещание.

В любом случае, если я правильно вас понимаю, вы конкретно говорите об F distribution, и, насколько я вижу из руководства TPMath, похоже, что он содержит соответствующие функции (я предполагаю, что он под «Snedecor's распределение ").

Я не совсем уверен, если это то же самое, как FINV функции Excel, но моя первая догадка будет то, что вы хотите взглянуть на этот [цитата из инструкции]:

Function InvSnedecor(Nu1, Nu2, P) возвращает значение X такое, что Phi (nu1, nu2) (X) = P.

0

открытого исходного кода Pascal/Delphi AMath библиотека имеет много статистических распределений с PDF, CDF и InverseCDF (то есть квантиль функции); смотрите здесь в списке implemented distributions, ваши табличные значения F могут быть вычислены с

f_inv(nu1,nu2,y): the functional inverse of the F distribution, nu1, nu2 > 0, 0 <= y <= 1

В вашем случае третий параметр 1 - уровень значимости, двойная функция возвращает

F_Inv(2,10,1-0.05) = 4.1028210151

Смежные вопросы