2014 dxdy logo

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

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




 
 Аппроксимация триг. функциями
Сообщение03.02.2012, 12:07 
Аватара пользователя
Необходимо подобрать тригонометрический полином,
нули которого будут ближе всего к данным (целым) числам.
Перепробовал все методы на Wolfram, потыкался в Maple...
Получается, что у меня данные равны нулю, и поэтому
любой метод сразу радостно выдает тождественно равную нулю функцию.
В Mathematica очень мощная система исключений, доп. условий, но здесь ничего не помогает.
На простом примере поясню. Есть модель $\sin (a\cdot x+b)$.
Ищем параметры, чтобы она обращалась в ноль (или, для полиномов,
ближе всего подходила к нулю) в точках $0,1,2,3,...$
Алгоритм должен выдавать $\{a\to 3.14159,b\to 0.\}$,
а не $\{a\to 0.,b\to 0.\}$, хотя последнее формально верно.

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение03.02.2012, 12:49 
У Вас множество заданных целых чисел конечно? Если да, то может быть отрезок задан? Просто если множество конечен и область - все $\mathbb{R}$, то будут еще лишние корни. Возможно, что тогда и ответов будет довольно много.
Во всяком случае, если корни заданы последовательностями $x_{kn}=a_k+t_k \cdot n, n \in \mathbb{Z}$ с кратностями $r_k$ и все $\{ t_k\}$ попарно соизмеримы, то искомый тригонометрический полином выписывается ручками (ну он не совсем полином - в нем потом надо еще использовать формулы синусов кратных углов...)

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение03.02.2012, 13:06 
Аватара пользователя
Lesobrod в сообщении #534442 писал(а):
Есть модель $\sin (a\cdot x+b)$.
Ищем параметры, чтобы она обращалась в ноль...

Есть гипотетическая функция, которая описывает реальный процесс. По результатам измерений находятся параметры этой функции.

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение03.02.2012, 13:07 
Аватара пользователя
Честно говоря, меня интересуют простые числа :roll:
Можно взять конечный отрезок натурального ряда, но вот простые
в нём можно задать только "как есть", списком или Prime[k].

Главное, что "физическим" методом всё получается.
Берем полином
$a_1 \sin \left(\frac{\pi  x}{2}\right)+a_2
   \sin \left(\frac{\pi  x}{4}\right)+a_3
   \sin \left(\frac{\pi  x}{6}\right)$
и, манипулируя $a_1,a_2,a_3$ смотрим на корни.
Получается довольно интересная картина. Я думаю, что и алгоритмически
эта задача корректна - просто поиск наименьшей суммы квадратов расстояний
от корней до ближайших простых. Но самому писать алгоритм с "нуля" как-то глупо;
неужели нельзя свести к известным методам оптимизации?

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение04.02.2012, 07:17 
Еще раз: Вы хотите тригонометрический полином с нулями во множестве $\{p_1,...,p_k\}$. Если требовать, чтобы других нулей не было и функция определена на всем $\mathbb{R}$, то такой функции нет, ибо множество нулей тригонометрический полином имеет множество корней, представляемое в виде объединение конечного числа нескольких прогрессий с одинаковым шагом.
Если допускать возможность других нулей и брать $\mathbb{R}$, то функция пишется ручками: $\sin (\frac{2 \pi x}{p_1}) \cdot ... \cdot \sin (\frac{2 \pi x}{p_k})$.
Если не допускать возможность других нулей, но ограничивать отрезок - брать не $\mathbb{R}$, а $[a;b]$, то все равно может быть несколько функций - нужно еще какое-то ограничение задать.
Уточните задачу.

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение04.02.2012, 09:41 
В книге Живые числа узнал такой факт:
Цитата:
Простое число - это целочисленный нуль аналитической функции $$1-\frac{\sin\frac{\pi \Gamma (s)}{s}}{\sin \frac{\pi}{s}}.$$
Такое интересует?

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение04.02.2012, 13:12 
Аватара пользователя
Да, последний факт интересный; что-то подобное я видел, но не так откровенно!

А я хочу найти тригонометрический полином с нулями наиболее близкими к простым
на данном отрезке в смысле минимума отклонения $\sum\limits_{z}(z_i-p^*_i)^2 $, где $z$ -- множество всех нулей,
а $p^*_i$ -- ближайшее к данному корню простое.
Количества нулей и простых могут не совпадать, но я думаю, что эффективный алгоритм
даст хотя бы совпадение этих количеств.

Полином ищем вида
$$\sum\limits_{i=1}^m a_i \sin (\frac {\pi x}{2 i})$$
и минимизацию проводим по коэффициентам $a_i$
Насчет его "степени" $m$ пока нет особых идей; для данного отрезка
она может определяться наибольшим промежутком между простыми этого отрезка.

 
 
 
 Re: Аппроксимация триг. функциями
Сообщение04.02.2012, 15:19 
Ну раз на отрезке - берем явно отрезок $[2;p_k]$ - в нем $k$ простых чисел. Можно искать функцию в виде $f(x)=f_1(x) ... f_k(x)$, где $f_j(x)$ имеет единственный нуль в точке $p_j$. И тогда легко взять $f_j(x)= \sin \frac{x-p_j}{T}$, где $T$ - достаточно большое число, чтобы $f_j(x)$ не имела других нулей (например можно в качестве $T$ длину отрезка + мелочь). Вот только тогда $f(x)$ будет иметь не совсем такой вид как у Вас - у Вас аргументы $\frac{2 \pi x}{4i}$ - почему они кратны 4? В общем, $f_j$ знаем - составляем произведение, перемножаем, понижаем степени синусов до 1 за счет увеличения кратности угла и все.
Не так, как Вы хотели, но тогда можно считать, что множество корней точно совпадает со множеством первых простых чисел. И тогда не надо думать, как одновременно несколько параметров минимизировать. И еще получается, что $m \leqlsant k$.

Ааа, я понял, че мучится - у Вас же если $f(x)$ искомая, то $Cf(x)$ искомая. Значит добавьте ограничение $\sum\limits_{j=1}^m a_j=1$ и пусть матпакет с нулевыми коэффициентами обломается :lol:

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group