Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Визуализация данных   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.134 c
2-1337760388
yuiyui
2012-05-23 12:06
2013.03.22
ctrl + i не работает


15-1346868099
Nic
2012-09-05 22:01
2013.03.22
Как сделать онлайн сервис?


2-1333827483
OldMBr
2012-04-07 23:38
2013.03.22
Сообщения, не требующие ответа


15-1338216754
leklerk
2012-05-28 18:52
2013.03.22
Когда нужно использовать ООП?


15-1348514300
Дмитрий С
2012-09-24 23:18
2013.03.22
Маленькая игра для уничтожения клавиатуры :)