2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Заменить функцию более простой
Сообщение18.09.2013, 00:34 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Минимум символов - это, пожалуй, будет как раз через синус.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение18.09.2013, 02:18 


17/10/08

1313
Напрямую соорудить периодическую функций из +, -, *, / и констант невозможно. Приведенные выше формулы либо «эмулируют» периодичность с помощью степени -1, либо пользуются условной функцией. Поэтому можно не париться – лучше не будет.

Но если вспомнить, что синус есть решение дифференциального уравнения, то можно записать соответствующее разностное:
$f(n+2)=-f(n)$
Ну, и первые два члена выступят в качестве «начального условия.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение18.09.2013, 10:31 
Заслуженный участник
Аватара пользователя


19/12/10
1546
naiv1 в сообщении #764886 писал(а):
Критерий простоты:интуитивный, например, минимум символов, которые формула содержит.

Лучше потребовать минимума операций принадлежащих некоторому множеству.

Пусть, например, множество операций $\{+,-,\cdot,/,\&\}$, где $\&$ операция побитового AND.

Мой вариант $f(n)=(n\;\&\;1)\cdot(2 -(n\;\&\;3))$, четыре операции из указанного множества.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение18.09.2013, 22:49 


23/10/07
240
ИСН в сообщении #764915 писал(а):
Минимум символов - это, пожалуй, будет как раз через синус.
Я уже об этом подумал днем до того, как прочитал Ваше сообщение. Возможно, это самая короткая запись. Дело в том, что нужно использовать комбинацию известных функций, т.к. если вводить новые функции, то их надо еще описать, на что требуется немало символов.

Может быть можно еще как-то поиграться с выражениями, которые содержат функцию $y=|x|$ - тоже ведь известную? Тем более, если нарисовать график рассматриваемой периодической последовательности, то он выглядит пилообразной ломаной линией,зубья которой как раз и похожи на график функции взятия абсолютной величины с соответствующими знаками в соответствующих промежутках изменения аргумента. У меня что-то не получается в этом направлении.

whitefox в сообщении #764994 писал(а):
Мой вариант $f(n)=(n\;\&\;1)\cdot(2 -(n\;\&\;3))$
Этот вариант может быть и неплохой, однако имеет скорее компьютерный вид, а хотелось бы видеть формулу с известными математическими операциями или функциями.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение19.09.2013, 00:46 
Заслуженный участник
Аватара пользователя


19/12/10
1546
Ну если Вам не нравится операция побитового AND, то её можно заменить операцией взятия остатка $\mod$, очень хорошо известной математической операцией. Формулу уже приводил:
whitefox в сообщении #764662 писал(а):
$f(n)=(n\bmod2)\cdot(2-(n\bmod4))$
Число операций по прежнему четыре.

Или использовать функцию "дробная часть" $\{x\}$

$f(n)=4\{\frac n 2\}(1-2\{\frac n 4\})$

Можете ещё использовать функцию "расстояние до ближайшего целого" $\{\{x\}\}$ http://kvant.mccme.ru/pdf/2002/05/36.pdf
Сравните её график с графиком построенным Вами, необходимые изменения очевидны.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение19.09.2013, 23:41 


23/10/07
240
whitefox в сообщении #765221 писал(а):
whitefox в сообщении #764662 писал(а):
$f(n)=(n\bmod2)\cdot(2-(n\bmod4))$
Это вполне нормальный вариант.

Путем некоторых манипуляций с функцией абсолютной величины мне все-таки удалось найти формулу для общего члена последовательности с использованием этой функции в виде:
$f(n)=|2-|n \mod 4-1||-1$.

Похоже, что лучший вариант представления последовательности для восприятия человеком - это первый, через функцию синус. (Прямо как по известной сказке, когда мужик пошел продавать на рынок корову и так расхваливал ее перед покупателями, что убедил себя, что корова хороша и пригодится ему самому :D ).
Для компьютерной реализации можно выбрать одну формул представленных участниками, за которые их благодарю.

P.S. Если есть другие варианты представления последовательности - пишите.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение19.09.2013, 23:53 


17/10/08

1313
$f(n)=c(1+(n-1) \mod 4)$
где $c=(0,1,0,-1)$

Есче:
$f(n)=-\operatorname{Re}(i^n)$

Я знаю толк в изращениях... :-)

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение20.09.2013, 00:58 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
naiv1 в сообщении #765570 писал(а):
$f(n)=|2-|n \mod 4-1||-1$

Внешний модуль - лишний.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение20.09.2013, 23:50 


23/10/07
240
Пожоже нет предела совершенству!
mserg в сообщении #765571 писал(а):
$f(n)=c(1+(n-1) \mod 4)$
где $c=(0,1,0,-1)$
Очень неплохой вариант компьютерной реализации, связанной с введением массива, почти не требующий вычислений, а только выборки.
Если использовать соглашение, допускаемое в некоторых компьютерных языках, что нумерация числового массива может начинатся с $0$, а не с $1$, то $f(n)$ принимает совсем уж простой вид:
$f(n)=c(n \mod 4)$, где
$c=(0,1,0,-1)$.

С учетом замечания-предложения
ИСН в сообщении #765601 писал(а):
Внешний модуль - лишний.
предложенная мною формула для $f(n)$ может быть упрощена до
$f(n)=1-|n \mod 4-1|$.
Формула содержит четыре операции, однако не использует дополнительного массива и вполне может использоваться для компьютерной реализации.

Есть еще предложения?

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение20.09.2013, 23:53 
Заслуженный участник


04/05/09
4587
Без массива на C: (5>>(n&3)&3)-1

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение23.09.2013, 22:22 


23/10/07
240
venco в сообщении #766016 писал(а):
Без массива на C: (5>>(n&3)&3)-1
Поясните, что это за операции:
1. >>
2. &
и их приоритет(ность) по отношению друг к другу.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение23.09.2013, 22:25 
Заслуженный участник


04/05/09
4587
naiv1 в сообщении #767124 писал(а):
1. >>
Побитовый сдвиг вправо, эквивалентен делению на соответствующую степень двойки.
naiv1 в сообщении #767124 писал(а):
2. &
Побитовый И.
naiv1 в сообщении #767124 писал(а):
и их приоритет(ность) по отношению друг к другу.
Сначала >> (почти как деление), потом &.

 Профиль  
                  
 
 Re: Заменить функцию более простой
Сообщение01.10.2013, 13:51 


05/09/12
2587
В свое время постеснялся написать, а сейчас решился, пока это еще не будет расценено как некропостинг: формула venco - это как раз то, что я хотел (да вовремя не успел) придумать для этой функции: минимум базовых операций, которые есть в большинстве архитектур, отсутствие умножения, деления, остатка от деления, условий и т.п.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group