|
численное решение уравнений
23.02.2008 01:41
|
|
|
Посоветуйте где лучше численно решать уравнения вида exp{-x}=x? Как в матлабе может называться соответствующая процедура?
Вам замечание (+). Несоответствие тематике раздела.
Перенесено модератором Panzer из раздела Hard&Soft
Редактировал Panzer (23.02.2008 01:52)
|
НИИЧАВО |
|
bashtanov
|
спец по говядине
|
|
|
|
Рег.: 11.05.2007
|
Сообщений: 9569
|
Из: например
|
Рейтинг: 7070
|
|
|
|
|
|
Ух ты, здорово! Спасибо большое
|
НИИЧАВО |
|
|
|
Но все равно, кто-нибудь знает, где лучше численно решать уравнения? Ну, типа где строится сетка и решения ищутся перебором?
|
НИИЧАВО |
|
bashtanov
|
спец по говядине
|
|
|
|
Рег.: 11.05.2007
|
Сообщений: 9569
|
Из: например
|
Рейтинг: 7070
|
|
|
Конкретно такое, как написано в первом сообщении, можно решать делением пополам.
|
|
ksa
|
Умка
|
|
|
|
Рег.: 04.10.2006
|
Сообщений: 14535
|
Из: где-то на белом свете
|
Рейтинг: 7761
|
|
|
Метод Ньютона решения f(x) = 0 при f(x)= exp(-x) - x берешь любое x поближе к корню, считаешь
x_1 = x - f(x)/f'(x)
процесс повторяешь
В Maple
> f := exp(-x) - x; > f1:= diff(f,x); f := exp(-x) - x f1 := -exp(-x) - 1 > x1:=0.5; x1 := 0.5 > x1 := evalf( subs(x=x1, x - f/f1) );
И нажимая <Enter + потом стрелку вверх> пересчитываешь раза три, последовательно получишь x1 := .5663110032 x1 := .5671431650 x1 := .5671432904 x1 := .5671432904
Хэппи энд Можешь еще попросить ее посчитать 100 знаков после запятой, написать > Digits:=100;
Digits := 100
тогда получишь x1 := 0.5671432904097838729999686622103555497538157871865125081351310792230457930866845666932194469617522945
|
|
ksa
|
Умка
|
|
|
|
Рег.: 04.10.2006
|
Сообщений: 14535
|
Из: где-то на белом свете
|
Рейтинг: 7761
|
|
Re: численное решение уравнений
[re: ksa]
26.02.2008 10:48
|
|
|
А если тебе не надо всю подноготную, прочувствовать численное решение так-сказать, то в каждой мат.системе есть готовая функция решения уравнений. В Maple это fsolve (float solve):
> fsolve( exp(-x)=x); 0.5671432904
Иногда надо подсказку о приблизительном значении интересующего тебя корня дать и прочии опции, в хелпе все написано
> fsolve( tan(x)=x, x=3/2*Pi); 4.493409458
Аналитическое решение если удается находится с помощью solve
|
|