Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

Поиск решения в многомерном пространстве   Найти похожие ветки 

 
wild_arg ©   (2004-06-22 10:17) [0]

Есть 5-ти мерная матрица. По заданным пяти координатам находится значение соответствующей ячейки матрицы. По каждой координате дискретность разбиения различна.
A[18,30,0.5,10,3] = v1
A[18,30,0.5,10,5] = v2
....
Для первой координаты возможные значения: 18, 20, 22 .
Для второй    : 30, 50, 100, 120, 150 .
Для третьей   : 0.5, 1, 1.5, 2, 2.5 .
Для четвертой : 10, 20 .
Для пятой     : 3, 5, 10, 15, 20, 25, 30 .

И вот, типа, забита вся эта матрица (размерностью 3 х 5 х 5 х 2 х 7) значениями v1, v2, ..., vN

Задача такая: Необходимо найти Vx, при любых значениях пяти координат. Например A[19, 99, 1.1, 13, 18] - ?

Поможите, кто чем может.


 
Думкин ©   (2004-06-22 10:19) [1]

А в чем проблема?


 
wild_arg ©   (2004-06-22 10:23) [2]

Напиши формулу


 
Romkin ©   (2004-06-22 10:25) [3]

Формулу чего? Тебе ближайшую ячейку найти надо или интерполяцию сделать?
Если интерполяцию, то по задаче смотреть надо :)


 
wild_arg ©   (2004-06-22 10:29) [4]

Апроксимацию мне надо. А вот как по задаче смотреть я чего-то вообще понять не могу. Задачу я вроде описал.
Дайте совет какой-нить. Голова уже пухнет


 
Romkin ©   (2004-06-22 10:38) [5]

Это не задача. Для интерполяции и тем более аппроксимации должен быть задан вид функции. В первом приближении можно делать линейную интерполяцию ближайших узлов :)


 
Думкин ©   (2004-06-22 10:38) [6]

http://www.mstu.edu.ru/publish/conf/11ntk/section5/section5_2.html


 
wild_arg ©   (2004-06-22 10:40) [7]

2Romkin Точно, точно - не напомнишь мне случайно как там чё?


 
begin...end ©   (2004-06-22 10:48) [8]

Y = Y1 + (X - X1) * (Y2 - Y1) / (X2 - X1)


 
YurikGL ©   (2004-06-22 10:50) [9]


> begin...end ©   (22.06.04 10:48) [8]

Нее.. Здесь нужно с помощью МНК линию притянуть. Для начала попробовать прямую, если средняя квадратичная ошибка будет велика, то sin пользовать.
А потом с помощью построенной функции хоть аппроксимацию, хоть интерполяцию, хоть что можно сделать.


 
begin...end ©   (2004-06-22 10:53) [10]


> [9] YurikGL ©   (22.06.04 10:50)

Ну это был просто ответ на [7]


 
YurikGL ©   (2004-06-22 11:01) [11]


> Для интерполяции и тем более аппроксимации должен быть задан
> вид функции.

Не факт, есть, например, метод скользящего среднего...


 
Romkin ©   (2004-06-22 11:18) [12]

YurikGL ©  (22.06.04 11:01) [11] Это тоже неявная аппроксимация :))
YurikGL ©  (22.06.04 10:50) [9] А лучше сразу литанию какую-нить прочитать, если ошибка большая :))))


 
Romkin ©   (2004-06-22 11:18) [13]

YurikGL ©  (22.06.04 11:01) [11] Это тоже неявная аппроксимация :))
YurikGL ©  (22.06.04 10:50) [9] А лучше сразу литанию какую-нить прочитать, если ошибка большая :))))


 
Igorek ©   (2004-06-22 11:34) [14]

Если я правильно понял задачу - есть матрица, в которую можно забить (3 х 5 х 5 х 2 х 7)=1050 5-мерных векторов (или точек). Надо по даной точке найти к ней ближайшую. Если так, то:
1) надо отсортировать матрицу по всем измерениям (или добавить индекс)
2) по даной точке найти ближайших соседей сверху и снизу по каждому измерению
3) из этих точек найти ближайшую (по какой угодно метрике)


 
Igorek ©   (2004-06-22 11:54) [15]

Упс. Глупость написал. Но идея вроде правильная.


 
MBo ©   (2004-06-22 12:16) [16]

пенталинейная интерполяция (32 слагаемых):
1. Находим ячейку, в которую попадает точка - ее индексы i1,i2,i3,i4,i5
2. Находим параметрические координаты точки в ячейке:
t1=(x1-x1[i1])/(x1[i1+1]=x1[i1]) и т.д., где x1 - координата по 1-му измерению
3. Вычисляем Value(t1,t2,t3,t4,t5)=A[i1,i2,i3,i4,i5]*(1-t1)*(1-t2)*(1-t3)*(1-t4)*(1-t5)+A[i1+1,i2,i3,i4,i5]*t1*(1-t2)*(1-t3)*(1-t4)*( 1-t5)+...+A[i1+1,i2+1,i3+1,i4+1,i5
+1]*t1*t2*t3*t4*t5

наглядный пример для 2-х измерений:

A00         A01

   P(u,v)

A10          A11

U---------->

V
|
|
|
v

Value(p)=A[0,0]*(1-u)(1-v)+A[0,1]*u*(1-v)+A[1,0]*(1-u)*v+A[1,1]*u*v


 
wild_arg ©   (2004-06-22 12:21) [17]

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


 
wild_arg ©   (2004-06-22 12:25) [18]

MBo - человеческое спасибо.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.032 c
6-1084352553
Ivolg
2004-05-12 13:02
2004.07.04
Данные


1-1087151057
@Kidman
2004-06-13 22:24
2004.07.04
Классы и их потомки


1-1087739472
Islander
2004-06-20 17:51
2004.07.04
Как проверить, раскрыто ли PopupMenu или нет?


6-1084303062
SiDoff
2004-05-11 23:17
2004.07.04
RCPT TO:<...@...> NOTIFY=SUCCESS,FAILURE ORCPT=rfc822; ...@...


3-1086439511
Настенька
2004-06-05 16:45
2004.07.04
dbgrid и stringgrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский