Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: нахождение средней площади
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
vLx0F
Пусть на оси X в некотором диапазоне x1..xN задана ф-ция (не аналитически), значения которой F(xi) образуют кривую произвольной формы (i = 1..N). Все значения F(xi) отнормированны к максимальному, т.е. max(F(xi)) = 1. Необходимо найти точку xk (xk = x1..xN), относительно которой площадь равнялась бы половине всей площади под этой кривой. Вот нашел несколько методов:

1. Осреднить значения ф-ции - F1 = sum(F(xi))/N, (i = 1..N, N - число точек) и умножить на (xN-x1), т.е. найти площадь прямоугольника и взять его половину S2 = F1*(xN-x1)/2. Т.о. xk = x1 + S2, где S2 - некоторое искомое смещение относительно x1(Начала).

2. xk = sum(F(xi)*xi). Вот этот метод совсем не понимаю. Вроде с виду похоже на мат. ожидание smile.gif, но вроде и нахождение площади... Но найденная таким способом xk'ая не попадает в диапазон x1..xN, как-то, наверное, хитро отнормировать надо ?

Просьба, прокомментировать методы, пояснить (особенно 2) что так, что нет и посоветовать другие какие-нибудь.
scifi
Цитата(vLx0F @ Dec 16 2008, 11:28) *
Пусть на оси X в некотором диапазоне x1..xN задана ф-ция (не аналитически), значения которой F(xi) образуют кривую произвольной формы (i = 1..N).

Почему так сложно? Если я правильно понял, есть функция F, заданная в точках x1...xN. Верно?

Цитата(vLx0F @ Dec 16 2008, 11:28) *
Все значения F(xi) отнормированны к максимальному, т.е. max(F(xi)) = 1.

Видимо, подразумевается, что функция принимает только положительные значения?

Цитата(vLx0F @ Dec 16 2008, 11:28) *
Необходимо найти точку xk (xk = x1..xN), относительно которой площадь равнялась бы половине всей площади под этой кривой.

Что такое площадь под кривой? Для себя я понимаю это так: между точками x1...xN как-то аппроксимируем функцию F(x). В результате получаем функцию, определённую на отрезке [x1,xN]. Берём интеграл по этому отрезку и получаем площадь. Главный вопрос: как аппроксимировать функцию? Кусочно-линейно? Сплайном (каким из нескольких видов)? Полиномом? Как-то ещё?
Что значит "относительно которой площадь равнялась бы половине всей площади под этой кривой"? Значит ли это, что площадь слева от этой точки равана площади справа от неё? Почему Вы думаете, что такая точка строго попадёт в набор x1...xN? В общем случае не попадёт.
vLx0F
Цитата(scifi @ Dec 16 2008, 11:59) *
Почему так сложно? Если я правильно понял, есть функция F, заданная в точках x1...xN. Верно?


Вернее, задана кривая (изначально), ну и, конечно, ф-ция F.

Цитата(scifi @ Dec 16 2008, 11:59) *
Видимо, подразумевается, что функция принимает только положительные значения?


Да.

Цитата(scifi @ Dec 16 2008, 11:59) *
Что такое площадь под кривой? Для себя я понимаю это так: между точками x1...xN как-то аппроксимируем функцию F(x). В результате получаем функцию, определённую на отрезке [x1,xN]. Берём интеграл по этому отрезку и получаем площадь. Главный вопрос: как аппроксимировать функцию? Кусочно-линейно? Сплайном (каким из нескольких видов)? Полиномом? Как-то ещё?


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

Цитата(scifi @ Dec 16 2008, 11:59) *
Что значит "относительно которой площадь равнялась бы половине всей площади под этой кривой"?


Может я зря привязался к площади, нужно для кривой произвольной формы найти некоторое ее среднее значение, центр, "центр тяжести (масс)" как-то так smile.gif, абсцисса которого лежала бы в x1..xN.
Под средней площадью я понимал, площадь под участком этой кривой, которая равна половине всей площади, относительно точки x1. Т.е., фиксируя точку x1, и, двигаясь от нее к xN, находим точку xk, при которой площадь на участке x1..xk равняется половине площади на всем участке x1..xN. Конечно, в силу произвольности кривой, площадь слева и справа от xk будет разной. Здесь, я предполагал нахождение площади путем интегрирования на различных участках. Т.о. нахождением этой средней площади я предполагал найти и "центр" этой кривой - xk.
scifi
Понятно, что непонятно.
Коль скоро в математических терминах задачу сформулировать не удаётся, лучше скажите, зачем всё это надо. Может быть, кто-нибудь что-нибудь посоветует.
Tanya
Цитата(vLx0F @ Dec 16 2008, 11:28) *
Пусть на оси X в некотором диапазоне x1..xN задана ф-ция (не аналитически), значения которой F(xi) образуют кривую произвольной формы (i = 1..N). Все значения F(xi) отнормированны к максимальному, т.е. max(F(xi)) = 1. Необходимо найти точку xk (xk = x1..xN), относительно которой площадь равнялась бы половине всей площади под этой кривой. Вот нашел несколько методов:

1. Осреднить значения ф-ции - F1 = sum(F(xi))/N, (i = 1..N, N - число точек) и умножить на (xN-x1), т.е. найти площадь прямоугольника и взять его половину S2 = F1*(xN-x1)/2. Т.о. xk = x1 + S2, где S2 - некоторое искомое смещение относительно x1(Начала).

2. xk = sum(F(xi)*xi). Вот этот метод совсем не понимаю. Вроде с виду похоже на мат. ожидание smile.gif , но вроде и нахождение площади... Но найденная таким способом xk'ая не попадает в диапазон x1..xN, как-то, наверное, хитро отнормировать надо ?

Просьба, прокомментировать методы, пояснить (особенно 2) что так, что нет и посоветовать другие какие-нибудь.

Если 2. поделить на сумму значений функции, то получится то, что Вам нужно... Это определение центра масс...
А математическое ожидание из другой оперы...
vLx0F
Цитата(scifi @ Dec 16 2008, 13:05) *
Понятно, что непонятно.
Коль скоро в математических терминах задачу сформулировать не удаётся, лучше скажите, зачем всё это надо. Может быть, кто-нибудь что-нибудь посоветует.


А что конкретно не понятно ? wink.gif

Есть некоторая кривая произвольной формы на отрезке x1..xN. Нужно найти абсциссу xk из x1..xN, для которой значение ф-ции F(xk) (которой можно было бы аппроксимировать эту кривую) было бы "средним" (тут можно применить термин найти "центр тяжести" для фигуры, окраниченной данной кривой на отрезке x1..xN) из всех F(xi) i = 1..N.
Кстати, второй метод, что я описал в первом посте, вроде, это и делает xk = sum(F(xi)*xi) i = 1..N, только я не очень его смысл понимаю.






Цитата(Tanya @ Dec 16 2008, 13:22) *
Если 2. поделить на сумму значений функции, то получится то, что Вам нужно... Это определение центра масс...
А математическое ожидание из другой оперы...



Цитата(Tanya @ Dec 16 2008, 13:22) *
Уточню smile.gif Т.е. получается так xk = sum(F(xi)*xi)/sum(Fxi), где i= 1..N ?


Цитата(Tanya @ Dec 16 2008, 13:22) *
А математическое ожидание из другой оперы...


Это понятно. Но уж больно формула похожа, если F(xi) - плотность вероятности, то sum(F(xi)*xi) - вполне похоже smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.