|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Рекурсия в функции подсчета частной корреляции
Пытаюсь реализовать функцию подсчета частной корреляции. Однако, совсем запутался с рекурсией. Суть проблемы:
Формула расчета частной корреляции рекурсивна, и я никак не могу понять, как правильно организовать выход и сохранение значения для очередного запуска функции. То есть в итоге мне нужно получить, например, значение частной корреляции 800го порядка. Понятно, что требуется запускать функцию до порядка=1 и потом линейную корреляцию, результат порядка n использовать для порядка n+1 и т.д., пока не получим исходное. Но формула сильно ветвится, и как переходить с ветки на ветку и возвращаться назад, я никак разобраться не могу. Помогите плиз. P.S.: формула частной корреляции здесь - ссылка |
#2
|
|||
|
|||
Кто из программеров будет разбираться в этих формулах частной корреляции.
Нельзя ли упростить задачу для них: написать выражение, например, для вычисления коэффициента КЧ первого порядка с применением конкретных констант и переменных. К примеру, Вычисление К1 в выражениях языка Паскаль выглядит так (как пример): К1 = (Rxa - Rxb) /sqrt(sqr(1-Y*Y)*sqr(1-U*U)) К1 - вычисляемый коэффициент: Rxa - входной параметр (для выч. коэфф. КЧ первого пор.), значение такое-то; Rxb - параметр со значением таким-то; ... А дальше, какие из вычисленных значений и константы входят в выражения для вычисления коэфф. КЧ второго порядка. Тогда можно и с рекурсией расправиться. Не забывайте делать резервные копии |