|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.03.2016, 11:23 | #1 | |
Пользователь
Регистрация: 27.03.2016
Сообщений: 20
|
Критерий сериальной корреляции
Помогите найти ошибку. Числа генерируются с помощью ЛКГ. Нужно получить "С" - коэффициент корреляции. Сама формула в прикрепленном файле. U, V - элементы двух последовательностей. Их начальный элемент(объявлены до цикла for - различны), т.е последовательности будут различны. Коэффициент должен получаться от -1 до 1, у меня же выводит -1.#IO
Цитата:
|
|
27.03.2016, 11:56 | #2 |
Форумчанин
Регистрация: 23.01.2016
Сообщений: 608
|
Прицеп потеряли, вот критерий сериальной корреляции из Кнута:
всегда в ЦОС делал по нему ) |
27.03.2016, 12:11 | #3 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
может znam у тебя отрицательный получается?
кстати, поменяй % 4294967296 на & 0x0FFFFFFFF, а то меня напрягает немного. kutani, твоя формула выглядит как самокорреляция, а у тс взаимная корреляция двух полследовательностей. и формульной ошибки я там не вижу. Последний раз редактировалось f.hump; 27.03.2016 в 12:37. |
27.03.2016, 14:00 | #4 |
Форумчанин
Регистрация: 23.01.2016
Сообщений: 608
|
Оставлю это здесь http://computersbooks.net/index.php?...=20012&page=45
|
27.03.2016, 14:44 | #5 |
Пользователь
Регистрация: 27.03.2016
Сообщений: 20
|
|
27.03.2016, 14:46 | #6 |
Пользователь
Регистрация: 27.03.2016
Сообщений: 20
|
в каком именно месте, а то я нубас) и есть ли принципиальная разница? я же мог 2^32 записать через pow, но это лишняя операция. Я думаю, что у меня где-то происходит переполнение, но найти не могу
|
27.03.2016, 14:51 | #7 | |
Пользователь
Регистрация: 27.03.2016
Сообщений: 20
|
не должно быть, в формуле все в квадрат возводится, не может быть отрицательных чисел.
UPD: знаменатель действительно отрицательный, хотя это невозможно. Цитата:
UPD: изменил количество генерируемых эл-ов, теперь оно четное, всегда получается коэффициент. Но он должен быть в пределах от -1..1, а у меня 10ки тыясч, значит где-то в формуле идет ошибка Последний раз редактировалось ilyakonst; 27.03.2016 в 15:03. |
|
27.03.2016, 14:57 | #8 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
27.03.2016, 15:10 | #9 |
Пользователь
Регистрация: 27.03.2016
Сообщений: 20
|
проверил, переполнений нет нигде.
все высчитывается |
27.03.2016, 15:43 | #10 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
Аватар прав.
у тебя там в каждой операции целочисленные переполнения. сделай c1 = 0, c2 = 0, c3 = 0, z1 = 0, z2 = 0, z3 = 0, z4 = 0, chisl, znam даблом и в аккумуляторах делай каст (double)U, (double)V |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Критерий серий | Veryn4ik1993 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 18.01.2014 11:43 |
ВПР критерий | Artem_85 | Microsoft Office Excel | 10 | 08.11.2012 13:59 |
критерий Сильвестра | Roman | Фриланс | 1 | 19.04.2012 19:02 |
критерий Сильвестра | Roman | Общие вопросы C/C++ | 4 | 12.04.2012 02:30 |
решение урав-й типа Vn=a+b/Vg и определение коэф.корреляции | serjufa | Помощь студентам | 2 | 11.11.2010 06:32 |