Масштабируйте тогда значения.
И вообще, работая с такими суммами — как вы переполнения контролируете?
Или вы числа в отсортированном порядке складываете?
Есть задачка из универского курса вычислительной математики: что будет точнее — j1 = 1:1:10000000;
a1 = sum( 1./ (j1.^2) );
j2 = 10000000:-1:1;
a2 = sum( 1./ (j2.^2) );
a1 = 1.64493396684726
a2 = 1.64493396684823
это я к тому что порядок суммирования — важная штука.
В моем примере работа с малыми числами, а в случае больших, как у вас — это еще актуальнее.
Картинки пожать конечно надо было. Лежит на столе стары старый том Джека Лондона — весь рассыпаный, отреставрировать бы его — думаю ваша статья поможет, только разбирарать старый переплет на тетради — страшновато — боюсь и не собрать.
А зачем такой зигзаг обход? я забыл, но помню что так делают. Вроде бы в этом случае соседние отсчеты будут слабокррелируемы — а значит сигнал станет более подобен шуму — что должно только отрицательно сказываться на сжатии.
Интересная статистика — то есть можно анализируя статистику мобильника человека — можно понять есть ли у него машина и предположить из какой он страны.
Спасибо за дельную критику, согласен медлительность Matlab — миф. Выше уже обсуждали что эта строчка чрезвычайна неэффективна. Спасибо за ссылку. Не знаю почему так написал, наверное потому-что поленился и поскорее хотелось видик смонтировать.
Сорри, не понял. Я не стал менять код — видики придется переделать если уж по честному, пусть все так и будет. А по поводу вашего вопроса про строковую индексацию: в MatLab матрица хранится по столбцам подобно Fortran, и обращаюсь к столбцам а не к строкам я получал ускорение в сотни раз. Приходилось даже специально продумывать алгоритмы для работы с транспонированной матрицей.
Я так понял вы про второй алгоритм? Второй алгоритм шустрее первого на порядок, но по другой причине — дело в том, что минимизируется количество лишних проверок, возникает меньше коллизий.
Упс, вы все правильно говорите, по вертикальной. Просто картинка при визуализации в MatLabe переворачивается, есть возможность это исправить, дело в команде axis image, есть аналогичная чтобы не переворачивало, но забыл совсем.
Как кодера тянет к LEGO, но как эстета — к PLEO.
И вообще, работая с такими суммами — как вы переполнения контролируете?
Или вы числа в отсортированном порядке складываете?
Есть задачка из универского курса вычислительной математики: что будет точнее —
j1 = 1:1:10000000;
a1 = sum( 1./ (j1.^2) );
j2 = 10000000:-1:1;
a2 = sum( 1./ (j2.^2) );
a1 = 1.64493396684726
a2 = 1.64493396684823
это я к тому что порядок суммирования — важная штука.
В моем примере работа с малыми числами, а в случае больших, как у вас — это еще актуальнее.
Вот бы все обзоры делали детишки — их же не купить.