реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Алгоритм аппроксимации, при доп. условии на площадь
AndreyVN
сообщение Mar 3 2015, 06:48
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Всем привет!

Никому не попадался алгоритм интерполяции кривой Rho(x) по заданным точкам R(x_i), при наличии дополнительного условия – интерполированная кривая должна иметь заданную площадь на сеточных интервалах \Int _x_i ^x_i+1 Rho(x)dx = S_i.

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

Нужно что-то более гладкое, типа сплайнов.

PS: Еще мыслишка пришла, задача может быть рассмотрена как обратная по отношению к задаче численного интегрирования. Можно метод Симпсона в обратную сторону раскрутить от площадей к коэффициентам полиномов. А то, что на картинке соответствует обратной задаче интегрирования методом трапеций.


Прикрепленное изображение
Go to the top of the page
 
+Quote Post
Onkel
сообщение Mar 4 2015, 11:27
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



Цитата(AndreyVN @ Mar 3 2015, 09:48) *
Всем привет!

Никому не попадался алгоритм инт..


Прикрепленное изображение

или не очень четко поставлена задача, или я что недопонял. Я бы начал с того, что написал бы в явном виде "гладкость" как функцию, и оптимизировал бы сумму весовых функций по гладкости, по отклонениям от площадей и по сумме квадратов отклонений.
Go to the top of the page
 
+Quote Post
_pv
сообщение Mar 4 2015, 21:39
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



ну так сплайн и берите, второй степени
f(x_i)=y_i;
f(x_i+1)=y_i+1;
\Int_x_i^x_i+1 f(x)dx = S_i
f(x) = a0 + a1 * x + a2 * x^2
три уравнения три неизвестных.

ну или четвёртой степени и с непрерывностью производной.

Go to the top of the page
 
+Quote Post
AndreyVN
сообщение Mar 5 2015, 14:08
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



Цитата(_pv @ Mar 5 2015, 01:39) *
ну так сплайн и берите, второй степени
f(x_i)=y_i;
f(x_i+1)=y_i+1;
\Int_x_i^x_i+1 f(x)dx = S_i
f(x) = a0 + a1 * x + a2 * x^2
три уравнения три неизвестных.

ну или четвёртой степени и с непрерывностью производной.


Первый вариант приведет к серии "горбов" на каждом интервале сетки. То есть, функция привязана к узлам сетки, а площадь регулируется величиной горба.
Второй вариант тоже не гарантирован от "грбатости". На одном сеточном интервале функция может метаться вверх вниз - чтобы и производные уровнять и площадь обеспечить. Формально решение будет найдено, но благодаря сложному виду функции на каждом интервале.

В силу физики задачи я могу игнорировать значения функции на сетке. Просто они имеются и ими можно воспользоваться. Физически осмысленным является требование на площади интервалов. В таком контексте любой из алгоритмов численной интегрирования разрешается в обратную сторону. Пока мыслю в этом направлении....
К стати, линейная аппроксимация вполне устроила бы, если удалось бы победить пилообразной поведение.
Go to the top of the page
 
+Quote Post
_pv
сообщение Mar 5 2015, 16:51
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



так условие прохождения функции через экспериментальные точки f(x_i)=y_i обязательное или нет?
Go to the top of the page
 
+Quote Post
Hose
сообщение Mar 21 2015, 19:11
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Может фильтрануть перед интерполяцией?
Go to the top of the page
 
+Quote Post
Hose
сообщение Mar 22 2015, 13:02
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



И предварительно имеет смысл посмотреть осциллографом что творится на входе ацп, дабы знать к чему стремиться, а то может и не честно будет маскировать колебательный процесс, поскольку он может указывать на неоптимальность работы системы авторегулирования.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 03:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01966 секунд с 7
ELECTRONIX ©2004-2016