2014 dxdy logo

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

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


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


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

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение18.05.2015, 14:10 


18/05/15
8
Добрый день!

Есть таблица значений x и y.
С помощью МНК c базисной

$f_1=A\sin x+b$

умею находить амплитуду (систему уравнений решаю матричным методом),

подскажите какими методами решается система уравнений, в случае если в базисной функции появится частота и фаза

$f_2=A\sin(2\pi f t + \varphi) + b$

ведь теперь неизвестные будут не только в виде коэффициентов, но еще и в функциях $\sin x$, \cos x$

 Профиль  
                  
 
 Posted automatically
Сообщение18.05.2015, 14:42 


20/03/14
12041
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.


\sin \pi и т.д.

 Профиль  
                  
 
 Posted automatically
Сообщение18.05.2015, 20:51 


20/03/14
12041
 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение18.05.2015, 21:11 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
Что-то похожее было topic55558.html

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение18.05.2015, 22:10 
Заслуженный участник
Аватара пользователя


23/07/08
10894
Crna Gora
1. Что является независимой переменной, $t$ или $x$? Раз функция такая $f_2=A\sin(2\pi f t + \varphi) + b$, значит, в таблице уже не пары $(x_i, y_i)$, а пары $(t_i, y_i)$, правильно?

2. Сколько у Вас таких базисных функций, одна или много? Почему Вы про неё говорите в единственном числе?

3. Шаг независимой переменной ($t_i$ ?) постоянный?

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение18.05.2015, 22:37 


18/05/15
8
1. Да, в таблице тогда пары $(t_i, y_i)$,

2. Одна $f_1=A\sin x+b$ , но хочу перейти к $f_2=A\sin(2\pi f t + \varphi) + b$ , или вы имеете в виду, что точек $n$ и я не написал суммы в формулах?

3. Да, шаг постоянный

Цитата:
Что-то похожее было topic55558.html


Спасибо, буду вникать

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение18.05.2015, 22:56 
Заслуженный участник
Аватара пользователя


23/07/08
10894
Crna Gora
kolchenkov в сообщении #1016944 писал(а):
2. Одна $f_1=A\sin x+b$ , но хочу перейти к $f_2=A\sin(2\pi f t + \varphi) + b$ , или вы имеете в виду, что точек $n$ и я не написал суммы в формулах?
Одна — хорошо.
Суммы? А про какие суммы Вы говорите?

Я вот о чём спрашиваю. Часто задача ставится так: для $N$ синусоид подобрать их амплитуды $A_k$, частоты $\omega_k$ и фазы $\varphi_k$ (где $k=1..N$), так, чтобы сумма этих синусоид
$y(t)=\sum\limits_{k=1}^N A_k \sin(\omega_k t+\varphi_k)$
наилучшим образом соответствовала табличным данным. Например, точек у Вас $n=1000$, а синусоид $N=5$, и их параметры надо подобрать. Вот я и хочу быть уверенным, что это не Ваш случай, что у Вас только одна синусоида с неизвестными параметрами.

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение18.05.2015, 23:33 


18/05/15
8
Цитата:
Я вот о чём спрашиваю. Часто задача ставится так: для $N$ синусоид подобрать их амплитуды $A_k$


Нет, это не мой случай, как раз наоборот, синусоида одна и таким образом хочу выделить так сказать основную гармонику.

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 00:49 
Заслуженный участник
Аватара пользователя


23/07/08
10894
Crna Gora
Самое трудное — определить частоту. Удобнее работать с циклической частотой $\omega=2\pi f$, от неё потом легко перейти к $f$.
Пусть $\tau$ — шаг по $t$, тогда $t_k=t_0+k\tau$.
Поэтому $\omega t_{k\pm 1}=\omega t_{k}\pm\omega\tau$.

Попробуйте такой подход.
Возьмём значения $y$ для трёх последовательных временных отсчётов:
$\begin{array}{lll}y_{k-1}&=A\sin(\omega t_k+\varphi-\omega\tau)&+b\\y_{k}&=A\sin(\omega t_k+\varphi)&+b\\y_{k+1}&=A\sin(\omega t_k+\varphi+\omega\tau)&+b\end{matrix}$

Для $y_{k-1}, y_{k+1}$ применим формулу синуса разности/суммы:
$y_{k-1}=A\sin(\omega t_k+\varphi)\cos\omega\tau-A\cos(\omega t_k+\varphi)\sin\omega\tau+b$
$y_{k+1}=A\sin(\omega t_k+\varphi)\cos\omega\tau+A\cos(\omega t_k+\varphi)\sin\omega\tau+b$

Сложим, разделим на $2$.
$\begin{array}{l}\frac 1 2(y_{k-1}+y_{k+1})=A\sin(\omega t_k+\varphi) \cos\omega\tau+b=\\=(y_{k}-b) \cos\omega\tau+b=y_{k}\cos\omega\tau+b(1-\cos\omega\tau)\end{array}$

Обозначим $p=\cos\omega\tau,\;\;q=b(1-\cos\omega\tau)$. Тогда
$y_{k}p+q=\frac 1 2(y_{k-1}+y_{k+1})$ для всех $k$, кроме крайних.
Получили сильно переопределённую систему линейных алгебраических уравнений относительно неизвестных $p, q$.

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 13:45 
Заслуженный участник
Аватара пользователя


11/03/08
9884
Москва
Если есть частота - остальное легко получается линейной регрессией (чтобы избежать нелинейности, связанной с фазой, лучше преобразовать
$A\sin(2\pi ft+\varphi)=A_1\sin(2\pi ft)+A_2\cos(2\pi f t)$
и тогда оценивается чисто линейная модель, переход к амплитуде и фазе очевиден)
Сложность лишь в оценке частоты. Фурье даёт обычно недостаточную точность, поскольку искомая частота может не попасть на "зуб гребёнки частот". Можно использовать авторегрессионные оценки, максимальной энтропии, метод Прони и др.
Много материала есть, например, в книге Дж. Марпл-мл. "Цифровой спектральный анализ".

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 14:04 
Заслуженный участник
Аватара пользователя


23/07/08
10894
Crna Gora
Точно, метод Прони. То, что я выше написал, — по его мотивам. Идея метода в том, что дискретная синусоида $y_k=A\sin(\omega t_k+\varphi)$ удовлетворяет линейному рекуррентному соотношению
$2y_{k}\cos\omega\tau=y_{k-1}+y_{k+1}$
Изначально метод Прони разрабатывался для экспонент, которые тоже удовлетворяют рекуррентным соотношениям. Но синусоида — сумма двух комплексных экспонент.
Значит, для оценки частоты (или частот) надо выявить в сигнале рекуррентные соотношения. Марпл, глава 11.

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 17:10 
Заслуженный участник
Аватара пользователя


11/03/08
9884
Москва
Причём если у нас, как выписано у топикстартера, вовсе нет составляющей ошибки, достаточно четырёх точек. Сначала переходим к разностям соседних отсчётов, убирая b, полученный сигнал будет синусоидой той же частоты, но отличающийся амплитудой и фазой (как именно отличается - легко выписать, но зачем?), остаётся три точки, потом из
$\cos\omega\tau=\frac {y_{k-1}+y_{k+1}} {2y_{k}}$
находим частоту, далее линейно.
Но в реальной задаче появляется случайная ошибка, и всё становится грустно...

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 18:28 
Заслуженный участник
Аватара пользователя


23/07/08
10894
Crna Gora
Евгений Машеров в сообщении #1017279 писал(а):
Сначала переходим к разностям соседних отсчётов, убирая b
Метод очень простой, но, боюсь, численное дифференцирование будет усиливать шум.
Евгений Машеров в сообщении #1017279 писал(а):
Но в реальной задаче появляется случайная ошибка, и всё становится грустно...
Так на то и переопределённая система. Точек $100$, неизвестных две.

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 19:18 
Аватара пользователя


21/01/09
3925
Дивногорск
Если время наблюдения за колебаниями много больше чем период, можно оценить $A$ и $b$, затем путем замены переменной перейти к линейной функции с коэффициентами $\omega$ и $\varphi$. Затем обратно вернуться к линейной функции с $A$ и $b$ и уточнить их. И т.д., пока не устаканется. В случае со временем наблюдения много меньше чем период, придется репу чесать.

 Профиль  
                  
 
 Re: МНК для f=A*sin(2*pi*f*t + phi) + b
Сообщение19.05.2015, 19:52 
Заслуженный участник
Аватара пользователя


11/03/08
9884
Москва
В общем,всё упирается в величину ошибки. Чем больше, тем сложнее оценивание. При очень малой - как изложено выше, при большой нужны общие методы нелинейной регрессии.

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

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



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

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


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

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