|
Кусково-линейная аппроксимация с заданными множителями., Как аппроксимировать для степеней двойки? |
|
|
Guest_TSerg_*
|
Feb 25 2016, 16:48
|
Guests

|
Нет "кусковой", но есть кусочная.
*** У Вас нет аппаратного умножителя?
Ну и что мешает подобрать множитель близкий к вещественному числу, но с заданным числом 1-ц и 0-лей и, есс-но, с заданной погрешностью аппроксимации?
|
|
|
|
Guest_TSerg_*
|
Feb 25 2016, 17:19
|
Guests

|
Обсуждать абстрактную задачу, которая должна далее решаться численными методами на конкретной платформе - не имеет смысла. Приведите все исходные данные.
P.S. Если говорить о принципах ( не только о КЛА ), то есть методы "цифра за цифрой" или CORDIC ( родоначальник - Волдер, затем развиты Смоловым И Байковым ). Для простых случаев гарантируется решение за N-циклических тактов, где N - число разрядов, но каждый циклический такт включает сдвиги до N-разрядов.
|
|
|
|
Guest_TSerg_*
|
Feb 25 2016, 17:58
|
Guests

|
Цитата(count_enable @ Feb 25 2016, 20:37)  Т.е. задача математическая, а не инженерная. Инженерные задачи решаются быстрее и "выхлоп" бывает вполне удовлетворителен. Теорему Ферма тоже решили, в конце-то концов.
|
|
|
|
Guest_TSerg_*
|
Feb 25 2016, 18:08
|
Guests

|
Цитата(count_enable @ Feb 25 2016, 21:02)  Считайте это любознательностью  . Раньше такую "любознательность" оплачивало государство, да и сейчас есть такие государства и фонды
|
|
|
|
Guest_TSerg_*
|
Feb 25 2016, 18:47
|
Guests

|
Цитата(amaora @ Feb 25 2016, 21:10)  Задача скорее всего многоэксремальная, и решается только численно, поисковыми/стохастическими методами оптимизации. В инженерном случае ( т.е. - конкретном ) так и следует ее решать, т.е. методами оптимизации. P.S. Универсальной "формулы" ждать не стоит. Из более-менее интересных вариантов в голову приходит Singular spectrum analysis (SSA или метод "гусеницы")- у них есть целочисленные варианты, которые наверное можно свести к степеням 2. В этом методе, легко воспроизводятся разностные уравнения с реализацией по типу FIR. Удлиняя реализацию такой условно-линейной системы, скорее всего можно подобрать коэффициенты от степеней 2. Ну и глобалный МГУА (метод группового учёта аргументов) Ивахненко.
|
|
|
|
|
Feb 25 2016, 20:59
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384

|
Цитата(amaora @ Feb 25 2016, 22:10)  То есть задан набор прямых, с коэффициентами +-2^n, задано количество отрезков N. Требуется найти разбиение области определения аппроксимируемой функции на отрезки, так чтобы используя заданные прямые в этих отрезках получить наименьшую невязку прямых с функцией. Так?
Задача скорее всего многоэксремальная, и решается только численно, поисковыми/стохастическими методами оптимизации. Возможно линейное программирование помогло бы. Помню, в универе решали похожие задачи на подбор коэффициентов. Но было давно... Цитата(TSerg) Раньше такую "любознательность" оплачивало государство, да и сейчас есть такие государства и фонды sm.gif Ну вот одно из государств платит мне за любознательность  )). Если что-то придумаю то отпишусь. А пока желающие могут ознакомиться с одним из похожих решений в H. Amin, K. M. Curtis, and B. R. Hayes-Gill, “Piecewise linear approximation applied to nonlinear function of a neural network,” IEE Proceedings - Circuits, Devices and Systems, vol. 144, no. 6, pp. 313–317, Dec. 1997.
|
|
|
|
|
Feb 26 2016, 07:28
|
Знающий
   
Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861

|
Цитата(count_enable @ Feb 25 2016, 23:59)  Возможно линейное программирование помогло бы. ... имхо проще надо быть, ближе к Оккаму. Если k - степень двойки, то значений k очень мало, и нетрудно перебрать все интерполяции kx+b при разных k (0, 1, 2, 4,....2^^n) и выбрать лучшую по невязке. Поскольку число интервалов m тоже ограничено, мы получаем довольно -таки простую задачу - найти n*m невязок и выбрать по результатам m величин k и m величин b. Вроде так ?
|
|
|
|
|
Feb 26 2016, 08:35
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
За 2-3 действия можно умножить на 3, 5, 6, 7, 8, 9, 12, 15... без умножения, только сдвигами и суммированием-вычитанием. Раскрываются необъятные горизонты для творчества. А как выбоать лучшее решение, вопрос.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|