2014 dxdy logo

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

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




 
 Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 15:03 
Есть некоторое уравнение:
$$x= \frac{L\cos(Wx)}{1+LW\sin(Wx)}$$
Нужно решать его на каждом шаге довольно большого цикла.
Проблема в том, что среди численных методов про которые я знаю, есть только такие, в которых нужно знать наачльное приближение, а с этим проблема.
Краем уха когда-то слышал про метод хитрого перебора допустимых значений, знает ли кто-нибудь что это за метод такой, и есть ли библиотеки для этого метода на python/fortran?

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 15:28 
Аватара пользователя
Полезно как-то переписать для упрощения.
Например, обозначим $\varphi=Wx$, $a=\frac 1{LW}$, получим уравнение относительно $\varphi:$$$\frac{\cos\varphi}{\varphi}-\sin\varphi=a$$Слева функция, зависящая только от $\varphi$, справа её известное значение.
Полезно теперь построить график этой функции, чтобы посмотреть, сколько корней для разных значений $a$, да и где мы вообще находимся.
plot cos(phi)/phi-sin(phi)

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 15:29 
Аватара пользователя
Например, начните с $x=0$ и далее Ньютоном.
А что-нибудь про величину $L$ и $W$, а также про возможные значения $x$ известно?

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 22:38 
Проблема в том, что это уравнение вылезает из некоторой задачи нелинейной динамики.
Нужно построить функцию последования ($x_{n+1} - x_n$) от $n$, на каждом шаге нужно решать такое уравнение, и так как шагов может быть очень много, а система как-то эволюционирует, то мне бы нужно выбрать параметры $L,W$ таким хитрым образом, чтобы они удовлетворяли некоторым условиям, в соответствии с задачей. Потому методы с выбором первого приближения мне не подходят. Мне посоветовали решать методом перебора, но видимо есть какие-то хитрые методы, чтобы не просто в лоб перебирать до смены знака, а как-то проще.

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 23:06 
Аватара пользователя
Либо перед Вами стоит задача решать такое уравнение для заданных $L, W$, и тогда буквально ничего из того, что Вы написали, не имеет значения. Либо перед Вами стоит какая-то иная задача.

Я мог бы ещё понять такую ситуацию. На каждом шаге Вашего цикла $L_n$ и $W_n$ меняются слабо, поэтому $x_n$ тоже меняется слабо, и для ускорения сходимости желательно использовать решение, полученное на предыдущем шаге, то есть $x_{n-1}$.

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 23:28 
$L,W$ не изменяются. Но я не знаю какие они, поэтому мне необходимо нарисовать функцию последования и определить устойчивые точки, исходя из них уже выбрать параметры $L,W$. Чтобы составить эту функцию нужно на каждом следующем шаге заново решать подобное уравнение. Я не могу выбрать какие-то приближения для методов ньютона-рафсона, или каких-нибудь других методов основанных на сходимости, так как не могу предсказать в какой следующий момент будет пересечение.
п.с.Видимо под методом перебора, который мне советовали, имелся в виду метод Брента.

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение25.06.2013, 23:40 
Аватара пользователя
Значит, $L$ и $W$ не заданы, и задача другая. Но тогда непонятно вот что:
Цитата:
Чтобы составить эту функцию нужно на каждом следующем шаге заново решать подобное уравнение.
Как Вы будете решать это уравнение, если $L$ и $W$ неизвестны? Хоть что-то вообще известно?

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение26.06.2013, 00:11 
Мне нужно взять сначала какие-то случайные, потом, исходя из функции последования выбрать уже подходящие для моего случая. Насколько я понимаю они будут представлять собой параметры Фейгенбаума.

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение26.06.2013, 14:31 
Аватара пользователя
Некоторые соображения:
Перейдя к уравнению
$\frac{\cos\varphi}{\varphi}-\sin\varphi=a$
согласно совету svv
и посмотрев на график левой части, видим, что для любых a есть решение в области $|x|<0.785$, но для некоторых значений а есть решения с большими значениями х.
Если нас устраивает решение для малых, удовлетворяющих данному неравенству, x, то записываем уравнение в виде
$\cos\varphi-\varphi\sin\varphi-a\varphi=0$
Разлагая синуc и косинус в ряд, и ограничиваясь только квадратами, получим
$1-\varphi^2/2-\varphi^2-a\varphi=-3/2\varphi^2-a\varphi+1=0$
Решаем квадратное уравнение, получая начальное приближение. Корень берём совпадающий по знаку с a.
Далее $\varphi_{n+1}=\varphi_{n}-\frac {\cos\varphi_n-\varphi_n\sin\varphi_n-a\varphi_n}{-2\sin\varphi_n-\varphi_n\cos\varphi_n-a}$ до полного удовлетворения.

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение26.06.2013, 15:52 
Может быть я не совсем правильно объясняю, либо сам неправильно понимаю задачу.
Вот Задачка.

Чем дольше времени прошло, тем соответственно больше время n-го столкновения.
Соответственно после каждого нового столкновения придется решать новое, независимое от предыдущего, уравнение примерно того вида, что я написал вначале.
1. Каким образом можно выбрать нулевое приближение?
2. Что делать, если у меня будет несколько решений? Я предполагаю, что имеется в виду выбор rтакого корня, что $t_{n+1}>t_{n}$

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение26.06.2013, 16:39 
Аватара пользователя
Исправил описку.

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение26.06.2013, 21:09 
Аватара пользователя
А где в предложенной задаче синус и косинус?

 
 
 
 Re: Численное решение трансцендентального уравнения.
Сообщение28.06.2013, 01:52 
В законе движения стенки. Можно, безусловно, задать как-то по-другому.

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group