2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 18:36 


19/04/19
12
Захотел сделать некоторый способ проведения гладкой кривой через точки на плоскости, такой чтобы он формулировался математически наиболее просто. Оставим в стороне вопрос о том, не сделано ли это уже давно другими способами, чем тот что указан ниже. Если где-то сделано именно этим (у меня не получилось найти) - хорошо, посмотрю там результат.

Кривая задаётся функцией $\vec f(l)$, где $l$ - линейная координата вдоль траектории кривой (можно и не ставить это обязательным условием, но тогда в уравнениях появятся лишние коэффициенты). У кривой есть мера её качества (чем численно меньше - тем больше подходит кривая): $$I_F = \int F dl = \int \left( \frac{1}{r^2} + a \right) dl = \int \left( (\vec f''(l))^2 + a \right) dl$$, где $r = r(l)$ - радиус кривизны кривой в заданной точке её траектории, $\left| \vec f''(l) \right| = \frac{1}{r(l)}$ - модуль второй производной функции по $l$, равный обратному радиусу кривизны, а $a$ - параметр задачи, указывает насколько нам важно стремиться уменьшить полную длину кривой. В попытках получить из этого интеграла какие-то намёки на то, какой должна быть искомая кривая, проварьировал его: $\vec h(l) = \vec f(l) + \vec g(l)$, где $\vec g(l)$ - функция первого порядка малости, а $\vec h(l)$ - новая функция, от которой будет брать интеграл. Её аргумент $l$ уже не равен координате вдоль траектории этой функции, он равен координате вдоль траектории исходной функции $\vec f(l)$, от точки которой смещена текущая точка функции $\vec h(l)$.

Получается (формула усложнилась т.к. модуль первой производной функции уже не равен единице, как это было изначально):
$$I_H = \int H dl = \int \left( \frac{\left( \vec f'' + \vec g'' \right)^2}{\left( \vec f' + \vec g' \right)^4} + a \right) \left| \vec f' + \vec g' \right| dl$$

Требуется найти такую кривую $\vec f(l)$, где для любой малой $\vec g(l)$ из допустимых граничными условиями выполняется неравенство $I_H \geqslant I_F$. Граничными условиями для $g(l)$ будет её равенство нулю в зафиксированных точках из условия задачи.

Для удобства расчётов были сделаны следующие подстановки/названия переменных: $$\vec v(l) = \vec f'(l) = (\cos \alpha, \sin \alpha)$$, $$\left| \alpha' \right| = \left| \vec v' \right| = \left| \vec f'' \right| = \frac{1}{r}$$, где $\vec v$ - единичный вектор направления траектории кривой, $\alpha$ - угол этого же направления. Также на функцию $\vec g$ наложено ограничение, которое не повлияет на итог: она должна быть направлена перпендикулярно траектории: $\vec g = g \cdot (-v_y, v_x)$, и в дальнейшем используется только $g$ (не вектор).

В итоге (если пропустить промежуточные выкладки) получается (все слагаемые второй и выше степеней $g$ опущены):
$$H = F + g \cdot (\alpha')^3 + 2 \cdot g'' \cdot \alpha' - a \cdot g \cdot \alpha'$$

Как видно, разница $I_H-I_F = \int H dl - \int F dl$ меняет знак при смене знака $g$, а значит положительно определённый вариант для неё будет только в том случае, когда она строго равна нулю (а не ноль там получится из-за второго и следующих порядков $g$, ранее выкинутых - возможно это не совсем строгое утверждение но пока что и так сойдёт).

Итого, требуется найти такое $\vec f(l)$, проходящее через заданные точки (и, возможно, ещё с какими-то условиями), что
$$\int \left( g \cdot (\alpha')^3 + 2 \cdot g'' \cdot \alpha' - a \cdot g \cdot \alpha' \right) dl = 0$$ для любого $g(l)$, удовлетворяющего граничным условиям.

Что делать дальше, не особо понятно. Подозреваю, что это какая-то простая задача.

Хотелось бы в как можно более общем виде. Но даже частные случаи непонятно как решать, например такой:
$$\vec f(0) = 0, \vec f(L) = \vec f_L, \alpha(0) = 0$$
(всего две точки, первая в нуле координат, линия из неё выходит вдоль оси $x$, и должна попасть во вторую точку)
или такой:
$$\vec f(0) = 0, \vec f(L_1) = \vec f_{L1}, \vec f(L_2) = \vec f_{L2}$$
(просто три точки)

Есть конечно вариант с перебором разных известных кривых и выбором из них лучшей по данному критерию, но это не совсем то.

(я надеюсь, меня простят за то, что много где не указано $(l)$ после функций, где это и так очевидно из контекста; мне кажется что это замусорит формулы и их станет только неудобнее читать, но если это обязательно нужно то допишу)

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 18:52 
Заслуженный участник


09/05/12
25179
Кажется, вы пытаетесь изобрести кубические интерполяционные сплайны.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 19:47 


19/04/19
12
Может быть я не понял что-то, но по-моему там немного про другое.

1) из того что я про них прочёл - там интерполяция скалярной функции одного аргумента, а тут - произвольная кривая, никак не зависящая от поворотов осей координат,
2) там кривая порезана на много частей, каждая из которых почти что сама по себе, а тут - одно уравнение на всю кривую,
3) не вижу, почему именно кубические полиномы дадут минимум для $I_F$ и там нет параметра $a$.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 19:57 
Заслуженный участник


09/05/12
25179
1) Какая разница? Это разные способы описания кривой, а не разные результаты.
2 и 3) Вы пытаетесь найти какую-то функцию. Конечно, сплайны - это ограничение класса возможных функций, но для них существует удобное представление. Не факт, что вы найдете что-то лучшее.

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

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 20:13 


19/04/19
12
Соглашусь что при большом желании можно почти любую кривую выразить в терминах $y = f(x)$, но не соглашусь что везде это будет интуитивно понятно и просто (например придётся вращать оси координат постоянно, чтобы не спотыкаться на вертикальных участках кривой). А первоначальная цель была в том числе и в простоте математического описания.

Задача возникла из практической задачи (наверно там и правда можно применить какое-то условно подходящее решение).

Но, будучи сформулированной, заинтересовала уже в теоретическом плане - хочется найти именно формально лучшее решение.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 20:17 
Заслуженный участник
Аватара пользователя


31/01/14
11059
Hogtown
firk в сообщении #1391004 писал(а):
Оставим в стороне вопрос о том, не сделано ли это уже давно другими способами, чем тот что указан ниже.
Нет, извините, оставлять не будем потому как при $a\ge 0$ ваша кривая это прямая, соединяющая эти самыедве точки.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 20:21 


19/04/19
12
Red_Herring в сообщении #1391027 писал(а):
firk в сообщении #1391004 писал(а):
Оставим в стороне вопрос о том, не сделано ли это уже давно другими способами, чем тот что указан ниже.
Нет, извините, оставлять не будем потому как при $a\ge 0$ ваша кривая это прямая, соединяющая эти самыедве точки.


Если там всего две точки (или если больше, но все лежат на прямой) и нет дополнительных условий то конечно это будет прямая, но этот тривиальный случай я даже в примерах не привёл.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 20:42 
Аватара пользователя


31/10/08
1244
firk
Вы знакомы с теорией вариационного исчисления?

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение04.05.2019, 21:15 
Заслуженный участник
Аватара пользователя


31/01/14
11059
Hogtown
firk в сообщении #1391030 писал(а):
Если там всего две точки (или если больше, но все лежат на прямой) и нет дополнительных условий то конечно это будет прямая, но этот тривиальный случай я даже в примерах не привёл.


Т.е. вы хотите найти кривую $(x(t),y(t))$, минимизирующую ваш функционал (который вы пока не записали в удобном виде), и проходящую через несколько фиксированных точек?
Вот тут-то и таится пакость. Если действовать по наивному, вы получите уравнение четвертого порядка, но кривая-то должна быть только дважды дифференцируема и в фиксированных промежуточных точках уравнение не будет выполняться, просто хотя бы потому что ваши вариации должны быть равны $0$ в этих точках. Поэтому правильная постановка: иметь две точки, но при этом потребовать заданные не только концы, но и направления кривой в них. А потом сшить эти кривые.

Распишите радиус кривизны в случае кривой $(x(t),y(t))$ где в этот момент $t$ просто какой-то параметр. Тогда у вас будет функционал $S=\int_0^T L(x(t), y(t), x'(t),y'(t), x''(t),y''(t))\,dt $, но при этом $t, x(t),y(t)$ явно в $L$ не входят (*). Запишите систему (я знаю, она будет выглядеть жутковато):
$$
\left\{\begin{aligned}
\frac{d^2}{dt^2} L_{x''} - \frac{d}{dt} L_{x'}+ L_{x}=0,\\
\ldots\ldots\ldots
\end{aligned}
$$
Теперь можно считать, что $t$ это длина дуги, и система резко упрощается. Более того, в силу (*) последние члены в уравнениях будут $0$ и можно проинтегрировать:
$$
\left\{\begin{aligned}
\frac{d }{dt } L_{x''} -  L_{x'} =\lambda,\\
\ldots\ldots\ldots
\end{aligned}
$$
Можно было бы заменить $x'(t),y'(t)$ на $u(t),v(t)$ с самогио начала? Конечно, но тогда появились бы дополнительные условия
$$S_1=\int _0^T u(t)\,dt = A, \qquad S_2=\ldots\ldots\ldots$$
и следовало бы записать $S^*:= S-\lambda S_1-\mu S_2$ и писать уравнения Э-Л для него. В любом случае получите ОДУ второго порядка от-но $x'(t),y'(t)$, содержащие 2 константы $\lambda,\mu$.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение05.05.2019, 03:18 


19/04/19
12
Спасибо, так всё вроде получается. Только из-за того что интегрирование по длине, а не по абстрактному аргументу - в конце всё ещё упрощается: вместо двух (или векторного) уравнений второго порядка $2 \vec v'' + \vec v ( 3 (\vec v')^2 - a ) = \vec \lambda$ из-за связей между $v_x$, $v_y$ остаётся одно скалярное первого: $\alpha ' ^2 = a - \lambda_0 \cos (\beta - \alpha )$, где $\alpha$ - угол направления траектории, а всё кроме $\alpha$ - константы. Насчёт аналитического решения не уверен, а вот численно оно легко решается так:
Изображение
Нужные решения, наверно, лежат на первом витке этой спирали. "Движется" в сторону, противоположную $\vec \lambda = (\lambda, \mu) = \lambda_0 \cdot (\cos \beta, \sin \beta )$, при увеличении $\lambda_0$ вплоть до $a$ постепенно вырождается в прямую.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение05.05.2019, 06:59 
Заслуженный участник
Аватара пользователя


31/01/14
11059
Hogtown
firk в сообщении #1391087 писал(а):
Спасибо, так всё вроде получается

Не так быстро. Прежде всего, напоминаю, вдоль варьированной кривой $t$ длиной уже не будет, только вдоль неварьированной (можно обойти, но там свои заморочки). Кроме того у вас несколько, скажем три, точки, две "дуги" их соединяющих и на каждой дуге свои $\lambda,\mu$ и как то надо разобраться с граничными условиями в начальной и конечной точкац и с условиями сопряжения в промежуточной.

Рассмотрим теперь функционал $S^$ в полном виде:
$$
S= \sum_{0\le k\le N-1} \int_{t_k}^{t_{k+1}} L(x,x',x'') \,dt 
$$
и проварьируем его. Получим интегральные члены, равные $0$ из-за уравнения, которое мы вывели, и внеинтегральные
$$
\delta S= \sum_{0\le k\le N-1} \Bigl[ (\ldots ) \delta x + L_{x''} \delta x'\Bigr]_{t=t_k}^{t=t_{k+1}} + \text{таки же члены по $y$}
$$
На концах дуг $\delta x=0$, а вот собирая остальные члены мы получим и, учитывая, что $\delta x'(t_k)$ произвольны в начальной и конечной точках "большой" кривой и $\delta x'(t_{k}^-) =\delta x'(t_{k}^+)$ в остальном произвольны в промежуточных точках, получим граничные условия $L_{x''}(t_k)=0$, $k=0,N$ и $L_{x''} (t_k^-)= L_{x''} (t_k^+)$ в промежуточных точках $k=1,\ldots,N-1$ и аналогично по $y$ . Вот с этими условиями плюс фиксированные значения $x(t_k)$, $k=0,\ldots,N$ плюс условия непрерывности $x'(t_k^-)=x'(t_k^+)$ первых производных у нас будет полная (многоточечная) задача для системы ОДУ . Тут то можно и посчитать опять что $t$ на каждой кривой длина (и тогда мы получим условия в простом виде)

Не поленитесь и распишите здесь все

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение05.05.2019, 09:45 


19/04/19
12
Red_Herring в сообщении #1391091 писал(а):
Прежде всего, напоминаю, вдоль варьированной кривой $t$ длиной уже не будет, только вдоль неварьированной

Это я не забывал.

А то что для поиска направлений дуги в промежуточных точках надо будет знать зависимость величин этих интегралов от от них - не подумал. Хотел посчитать дуги по одной и "как-то" сшить их так чтобы было одинаковое направление в промежуточных точках.

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение05.05.2019, 11:11 


19/04/19
12
Red_Herring в сообщении #1391091 писал(а):
$\delta x'(t_{k+1}^-) =\delta x'(t_{k}^+)$

Не понял, почему? Или может я неправильно понял что тут написано? $\delta x'$ в конце и в начале каждой дуги равны?
Может так?
$\delta x'(t_{k}^-) =\delta x'(t_{k}^+)$ (в конце предыдущей равно в начале этой).

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение05.05.2019, 12:07 
Заслуженный участник
Аватара пользователя


31/01/14
11059
Hogtown
firk в сообщении #1391104 писал(а):
в конце предыдущей равно в начале этой)

Да, это я и имел в виду (исправлено). И эти условия (равенствa для $L_{x''}$) нам дадут равенства для кривизн--в конечных точках $0$, a а в промежуточных с обеих сторон).

 Профиль  
                  
 
 Re: Поиск кривой, подходящей под интегральное уравнение
Сообщение08.05.2019, 19:36 


19/04/19
12
Если кому интересно, напишу что пока что получилось и вообще. Остались в основном кажется численные расчёты, на которые пока что не было времени.
Но вдруг в теоретической части где-то что-то неправильно и кто-то это заметит.

Всё кратко.
Обозначения:
$a$ - параметр задачи (константа)
$r(l)$ - радиус кривизны кривой
$t$ - аргумент двумерной функции, задающей кривую, в общем случае
$l$ - частный случай $t$ когда он равен длине длине вдоль дуги
$\vec f = \vec f(l)$ - функция, задающая кривую
$\vec v = \vec v(l) = \vec f'(l)$ - её производная, в случае $l$ - единичный вектор направления
$\alpha$ - угол направления, такой что $\vec v = (\cos \alpha, \sin \alpha)$

Формула "меры некачества" кривой, подлежащей минимизации: $$S(\vec f) = \int F dl = \int \left( \frac{1}{r^2} + a \right) dl = \int \left( \left( \frac{d^2 \vec f}{dl^2} \right)^2 + a \right) dl$$
В общем случае когда аргумент - не длина вдоль дуги, заменяем $dl = \left| d\vec f \right|$ и получаем $$S(\vec f) = \int \left(  ( \vec f'')^2 (( \vec f')^2)^{-3/2} + a (( \vec f')^2)^{1/2} \right) dt = \int L(\vec f, t) dt$$

Найдём такие кривые, у которых $\frac{d}{d\varepsilon}S(\vec f + \varepsilon \vec g) |_{\varepsilon=0} \geqslant 0$ для любых $\vec g(t)$, не нарушающих доп. условия.

$$\frac {dS}{d\varepsilon}  = \int \frac {dL}{d\varepsilon} dt = \int \left( L_{\vec f'} \vec g' + L_{\vec f''} \vec g'' \right) dt = \int \left( (L_{\vec f'} \vec g)' - L'_{\vec f'} \vec g + (L_{\vec f''} \vec g')' - ((L'_{\vec f''} \vec g)' - L''_{\vec f''} \vec g) \right) dt =$$ $$= \int_0^T \left( -L'_{\vec f'} + L''_{\vec f''} \right) \vec g dt + \left[ L_{\vec f'} \vec g + L_{\vec f''} \vec g' - L'_{\vec f''} \vec g \right]_0^T$$ (1)

$\vec g(0) = \vec g(T) = 0$ в любом случае т.к. это заданные края кривой.

Для начала рассмотрим случай, когда доп. условия заданы только в начале и конце кривой и они включают в себя и направления, то есть $\vec g'(0) = \vec g'(T) = 0$.
Тогда от формулы (1) остаётся только интегральная часть, и для выполнения условия минимума нужно чтобы множитель перед $\vec g$ был везде нулевым.

$$ L''_{\vec f''} - L'_{\vec f'} = 0 $$
$$ L'_{\vec f''} - L_{\vec f'} = \vec \lambda $$
где $\vec \lambda = \lambda (\cos \beta, \sin \beta)$ - некоторая произвольная векторная константа.

Ищем эти частные производные и одну производную по $t$, затем добавляем условие $\left| \vec f' \right| = 1$ (так как все остальные случаи приводятся к этому пересчётом аргумента), заменяем $t = l$ и получаем: $L'_{\vec f''} = 2 \vec f'''$, $L_{\vec f'} = \vec f' (-3 (\vec f'')^2 + a)$.
Подставляем это в уравнение выше и получаем: $ 2 \vec v'' +\vec v (3 (\vec v')^2 - a) = \vec \lambda$ (2).
Этому уравнению должны подчиняться все $\vec f(l)$, дающие локальный минимум функционала при зафиксированных концах кривой и направлениях на концах.

Введём несколько новых обозначений и распишем соотношения между ними:
$\vec v = (\cos \alpha, \sin \alpha)$
$\vec v' = \alpha' (-\sin \alpha, \cos \alpha) = -\alpha' \vec v_T$, $(\vec v')^2 = (\alpha')^2$
$\vec v'' = \alpha'' (-\sin \alpha, \cos \alpha) +  (\alpha')^2 (-\cos \alpha, -\sin \alpha) = -\alpha'' \vec v_T - (\vec v')^2 \vec v$

Умножая обе стороны уравнения (2) на $\vec v$, сразу получаем $(\vec v')^2 = \vec \lambda \vec v + a$ (3) - уравнение первого порядка от $\vec v$, с двумя особенностями: во-первых знак производной не зафиксирован, но он сохраняется при следовании вдоль кривой, и во-вторых, если $| \vec\lambda | > a$, то область определения уравнения ограничена $\vec \lambda \vec v \geqslant -a$. Подставив (3) в (2), получим $\vec v'' = \frac{\vec \lambda - \vec v(3(\vec\lambda \vec v) + 2 a)}{2}$ (4). Так же найдём $\vec v'' |_{\vec v' = 0} = \frac {\vec\lambda + \vec v a}{2}$ (5).

В попытках поиска аналитического решения нашёл ссылки на эллиптические функции, которые сами по себе аналитически, как я понял, не считаются, а с ними придётся ещё дальше считать интегралы т.к. нам нужно не $\vec v$ а $\vec f$ в итоге. Поэтому, как мне кажется, это уравнение лучше сразу решать численно, составить необходимые (см. ниже) таблицы свойств его решений в зависимости от $a$, $\vec \lambda$, $\vec v(0)$ для использования в исходной задаче.

Продолжение в следующем сообщении.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group