AndreyVN 0 3 марта, 2015 Опубликовано 3 марта, 2015 · Жалоба Всем привет! Никому не попадался алгоритм интерполяции кривой Rho(x) по заданным точкам R(x_i), при наличии дополнительного условия – интерполированная кривая должна иметь заданную площадь на сеточных интервалах \Int _x_i ^x_i+1 Rho(x)dx = S_i. Пока додумался до следующего – площадь трапеции определяется ее высотой, значит, если поставить точки по середине интервалов на которых определена площадь Si, можно провести через них прямые, и затем крутить вокруг этих точек (зеленые кружочки), чтобы получить более-менее гладкую кривую. Проблема в том, что такой алгоритм может приводить к пилообразным аппроксимациям (рисунок). Нужно что-то более гладкое, типа сплайнов. PS: Еще мыслишка пришла, задача может быть рассмотрена как обратная по отношению к задаче численного интегрирования. Можно метод Симпсона в обратную сторону раскрутить от площадей к коэффициентам полиномов. А то, что на картинке соответствует обратной задаче интегрирования методом трапеций. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Onkel 1 4 марта, 2015 Опубликовано 4 марта, 2015 · Жалоба Всем привет! Никому не попадался алгоритм инт.. или не очень четко поставлена задача, или я что недопонял. Я бы начал с того, что написал бы в явном виде "гладкость" как функцию, и оптимизировал бы сумму весовых функций по гладкости, по отклонениям от площадей и по сумме квадратов отклонений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 4 марта, 2015 Опубликовано 4 марта, 2015 · Жалоба ну так сплайн и берите, второй степени 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 три уравнения три неизвестных. ну или четвёртой степени и с непрерывностью производной. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndreyVN 0 5 марта, 2015 Опубликовано 5 марта, 2015 · Жалоба ну так сплайн и берите, второй степени 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 три уравнения три неизвестных. ну или четвёртой степени и с непрерывностью производной. Первый вариант приведет к серии "горбов" на каждом интервале сетки. То есть, функция привязана к узлам сетки, а площадь регулируется величиной горба. Второй вариант тоже не гарантирован от "грбатости". На одном сеточном интервале функция может метаться вверх вниз - чтобы и производные уровнять и площадь обеспечить. Формально решение будет найдено, но благодаря сложному виду функции на каждом интервале. В силу физики задачи я могу игнорировать значения функции на сетке. Просто они имеются и ими можно воспользоваться. Физически осмысленным является требование на площади интервалов. В таком контексте любой из алгоритмов численной интегрирования разрешается в обратную сторону. Пока мыслю в этом направлении.... К стати, линейная аппроксимация вполне устроила бы, если удалось бы победить пилообразной поведение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 5 марта, 2015 Опубликовано 5 марта, 2015 · Жалоба так условие прохождения функции через экспериментальные точки f(x_i)=y_i обязательное или нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hose 0 21 марта, 2015 Опубликовано 21 марта, 2015 · Жалоба Может фильтрануть перед интерполяцией? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hose 0 22 марта, 2015 Опубликовано 22 марта, 2015 · Жалоба И предварительно имеет смысл посмотреть осциллографом что творится на входе ацп, дабы знать к чему стремиться, а то может и не честно будет маскировать колебательный процесс, поскольку он может указывать на неоптимальность работы системы авторегулирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться