Разложить спектр на индивидуальные гауссовы полосы

Обсуждение вопросов, связанных с другими тулбоксами

Модератор: Admin

kapoyar
Пользователь
Сообщения: 1
Зарегистрирован: Вт фев 21, 2017 11:02 am

Разложить спектр на индивидуальные гауссовы полосы

Сообщение kapoyar » Ср июл 19, 2017 9:50 pm

Добрый день! Помогите, буду очень благодарен.
Задача: Есть экспериментальный спектр(s10), сглаженный, состоящий в моем случае из 6 индивидуальных полос. Я нашел полуширины, и местонахождение максимумов. необходимо методом наименьших квадратов(беру,как самый простой) найти АМПЛИТУДЫ элементарных гауссовых полос.

К сожалению не могу вставить сюда файл. Могу оставить ссылку(простите, не знаю, можно ли):
http://www.cyberforum.ru/matlab/thread2 ... st10631007

Помогите, если кто-то может. Готов отблагодарить.

sandy
Эксперт
Сообщения: 5273
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Разложить спектр на индивидуальные гауссовы полосы

Сообщение sandy » Чт июл 20, 2017 12:51 am

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

Александр Сергиенко

Аватара пользователя
zippi
Пользователь
Сообщения: 3
Зарегистрирован: Пн дек 19, 2016 11:41 am

Re: Разложить спектр на индивидуальные гауссовы полосы

Сообщение zippi » Пт авг 04, 2017 12:00 pm

Это же проще простого