Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизВизуализация данных Найти похожие ветки
← →
Jeer © (2012-10-03 14:47) [0]Исследование данных - процесс занимательный, особенно если при их визуализации возникают "смысловые галлюцинации".
Одни из примеров - визуализация распределения ошибок одного из численных методов из семейства CORDIC ( "вращение системы координат") по сравнению с традиционным вычислением SinCos черед ряды.
http://s017.radikal.ru/i443/1210/32/8df30c6c420d.jpg
← →
Dimka Maslov © (2012-10-03 15:03) [1]CFD тоже красивую картинку даёт. А уж первая форма колебаний консольного стрежня...
← →
картман © (2012-10-03 18:17) [2]занятная картинка, но я б рекомендовал чем-нибудь подстегнуть воображение(раз уж так нравится)
← →
Jeer © (2012-10-03 20:23) [3]Чего его подстегивать, оно и так безразмерное :)
В общем, наблюдение за смещением и распределением ошибок дало хорошую почву для экспериментов.
В итоге, базовый алгоритм был модифицирован и результаты выложу завтра в виде картинки.
Общая теория итерационных алгоритмов "цифра за цифрой" пока не создана, а потому - Монте-Карло и генетический отбор :)
Самое главное - добился центрирования ошибок и дисперсия уменьшилась.
P.S.
Задача не абстрактная - возрождается интерес к этим алгоритмам для реализации в ПЛИС и конвейерным системам на основе векторных процессоров.
← →
Pavia © (2012-10-03 21:25) [4]
> Общая теория итерационных алгоритмов "цифра за цифрой"
Вроде как китайцы создали пару лет назад для log . Оттуда для n!, а там не далеко и на все остальные обобщить через Ряд-Тейлора.
← →
Jeer © (2012-10-03 22:22) [5]Чен - один из лучших асинхронных комбинированных алгоритмов, завершение производится линейным приближением.
Теслер Геннадий Семенович, (д.т.н, к.ф.н), предложил адаптивное и нелинейное завершение, что заметно сокращает итеративный процесс.
Один из наиболее его известных справочников по теории и практике вычисления функций:
Вычисление элементарных функций на ЭВМ. – Киев: Техніка, 1977.- 208 с. (соавтор Ю.В. Благовещенский).
← →
Jeer © (2012-10-04 09:26) [6]После адаптации алгоритма, картина - маслом.
http://s017.radikal.ru/i423/1210/af/62ff5f0b3555.jpg
Еще возникает красивая фигня при "развале" алгоритма.
http://s019.radikal.ru/i619/1210/e8/bc50de0012e3.jpg
← →
Цукор5 (2012-10-04 14:17) [7]2 Jeer © (04.10.12 09:26) [6]
Так это Вы сами рисуете или что-то готовое используете?
← →
Jeer © (2012-10-04 14:26) [8]Та бог мой, в чем проблема сделать себе же инструмент исследования ?
На Delphi 7, если что.
Математика для поверки: стандартные extended и SinCos или "длинная арифметика 256 бит" + ряды.
Особой разницы не замечено, разве, что для эстетов.
CORDIC имитировался в разной разрядности: от 8 до 64 бит.
← →
картман © (2012-10-04 14:47) [9]как потом использовать веселые картинки?
← →
Jeer © (2012-10-04 15:38) [10]На основе первой картинки было выяснено "грязное" поведение стандартного алгоритма в некоторых крайних случаях.
Поскольку теории общей "цифра за цифрой" не существует, то был использован метод Монте-Карло и последовательная селекция результатов по критерию мини-макса, т.е. генетический алгоритм.
Управляющими воздействиями были: число дополнительных поворотов и корректирующие добавки к стандартным углам поворота ( a = arcTg(1/2^i ).
Для заданной разрядности CORDIC всегда находилось удовлетворительное решение.
Моделирования велось как в стандартном extended, так и в длинной арифметике 256 бит.
CORDIC моделировался в сетке от 8 до 64 бит.
Стандартный "грязный" Random() от Borland не использовался.
P.S.
Просто напомню, что традиционное "вращение системы координат", это
X = X0 * Cos(f) - Y0 * Sin(f)
Y = X0 * Sin(f) + Y0 * Cos(f)
CORDIC сводит эту операцию к примитивным операциям сложения и сдвига, без умножения.
Это не единственная операция, решаемая CORDIC.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.058 c