powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Численные методы. Решение трансцендентного уравнения методом итераций.
25 сообщений из 41, страница 1 из 2
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653419
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть трансцендентное уравнение.

ƒ(x) = 0
ƒ(x) = x - Sqrt(Lg(x) - 2)

Вместе с этими заданиями мне дали методичку в которой описан процесс решения.
Там сказанно, что ƒ(x) надо преобразовать в φ
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653430
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinЕсть трансцендентное уравнение.

ƒ(x) = 0
ƒ(x) = x - Sqrt(Lg(x) - 2)

Вместе с этими заданиями мне дали методичку в которой описан процесс решения.
Там сказанно, что ƒ(x) надо преобразовать в φ
Простите. Кнопачка нажалась нечаянно.
Есть трансцендентное уравнение.

ƒ(x) = 0
ƒ(x) = x - Sqrt(Lg(x) - 2)

Вместе с этими заданиями мне дали методичку в которой описан процесс решения.
Там сказанно, что ƒ(x) надо преобразовать в φ(x). Сказанно что этого можно добится разрешением ƒ(x) относительно x. Что такое разрешение я не знаю. А можно таким преобразованием:
φ(x) = x + λƒ(x)
При этом за методикой подбора λ рекомендуют обращаться к книжке которой у меня у меня нет.

Соответственно вопрос: как λ подобрать?
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653455
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я Вас правильно понял, Вы пытаетесь решить ур-е

lg(x) = x*x + 2

Боюсь вас огорчить, но действительного решения у этого ур-я нет (ну так уж сложилось что x*x растет значительно быстрее lg(x)). Судя по тому, что Вас просят сделать в методичке, предполагается решать это ур-е т.н. методом простой итерации. Этот метод сходится только в том случае, если

а)в окрестности корня производная того, что остаётся после выражения f(x) через x по модулю меньше 1;
б)Вам с первой же итерации удалось попасть в эту окрестность.

Не то чтобы этот метод совсем уж был плох, но при изучении вычматов как при выращивании хорошего футболиста - если с детства технику не поставишь, так и будет всё жизнь и сам толком не играть и тем кто умеет играть ноги ломать. Поэтому берём учебник и смотрим "Метод Ньютона для решения систем нелинейных алгебраических уравнений". Тоже не панацея, но панацеи в этом деле быть и не может. Но тем не менее в реальной прикладной математике это "промышленный" метод для таких задач. Успехов.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653465
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо. Когда мне были нужны эти методы я их знал. С вышкой у меня напряжонно-мирные отношения. Я могу в неё врубится. Но сейчас этих всех методов не помню.

Там не квадрат. Там корень.

Решать итерациями велено в задании.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653475
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если надо, завтра напомню смысл методов Ньютона, половинного деления и дихотомии, можно даже золотого сечения, если поможет.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653476
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fablerесли надо, завтра напомню смысл методов Ньютона, половинного деления и дихотомии, можно даже золотого сечения, если поможет.
да, и ресов отправлю а то флоты только завта с утра приходят
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653521
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fablerесли надо, завтра напомню смысл методов Ньютона, половинного деления и дихотомии, можно даже золотого сечения, если поможет.
Спасибо. Мне для дела нужны только итерации. Но в хозяйстве не помешает.
Дихотомию вообще первый раз слышу.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653534
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sarin fablerесли надо, завтра напомню смысл методов Ньютона, половинного деления и дихотомии, можно даже золотого сечения, если поможет.
Спасибо. Мне для дела нужны только итерации. Но в хозяйстве не помешает.
Дихотомию вообще первый раз слышу.

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

Записываем уравненеие в виде F(x)=0, пусть g - заданная точность;
находим две точки x0, x1 из области определения, в которых F имеет разные знаки, если |F(xi)|<g то решение найдено;
(*) делим отрезок [x0,x1] попалам точкой x2 (можно делить в любой пропорции, но можно доказать что попалам дает в среднем наилучший результат);
если |F(x2)|<g, то это решение,
если нет то из трех точек {x0,x1,x2} выбираем две, в которых F имеет разные знаки и переходим к (*).
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653541
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Спасибо большое.
Думаю надо всётаки с преобразованием уравнения.

У меня интервал изоляции находился через шаг 0.00000001
при заданной точности 0.001. Так что уравнение фактически решено.

Но я сам загорелся мыслью сделать через итерации.

Как я понял главная фишка метода итерациии в том, что каждый новый x по модулю будет менше предыдущего.
Зачем там новый x суммируется с предыдущим?
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653543
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проц на минуту очень крепко задумывается
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653564
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ничего там не суммируется. Метод простой итерации состоит в следующем: есть нелинейное алгебраическое ур-е:

F(x) = 0

перепишем его в виде:

F(x) + x = x

это собственно и значит разрешить его относительно х. Обозначим теперь то, что получилось слева f(x):

f(x) = F(x) + x

таким образом, начальное ур-е свелось к:

f(x) = x

а вот собсно и метод простой итерации:

x(n + 1) = f(x(n))

очевидно, что если x* является корнем уравнения, то линеаризуя в его окрестности, получим:

x(n + 1) - x* = f'(x*)*(x(n) - x*)

легко видеть, что данный процесс будет сходиться к x* если отображение является сжимающим, т.е.

|f'(x*)| < 1

Вот и вся арифметика.

Теперь про деления пополам, золотое сечение и прочиe штуки очень популярные в учебниках по программированию. Одно нелинейное уравнение Вы этими методами таки довольно легко решите. При большом усилии воли может быть даже систему из двух нелинейных уров с двумя неизвестными. При попытке поднять что-нибудь типа 10000 нелинейных уров с 10000 неизвестными (пусть даже хорошо разреженную) - грыжа гарантирована. Если думаете что 10000 это какое то приувеличение, то насегодня это семечки. В реальных задачах дело доходит до миллионов уров и колют их Ньтоном, ну или модифицированным Ньтоном-Рафсоном, ну если таки колют а не юзают явные схемы. Да, да, знаю, помню, аффтар просил только одно ур-е и всё такое. Сарин, если планируете заниматься выч. матами профессионально - забудьте деление пополам. Если только чтоб лабу сдать и забить на это - делите пополам.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653585
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Да я понял что деление пополам бесперспективно. Слишком трудоёмкие вычисления и медленная сходимость.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653625
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
" итерация " - это шаг решения (а не метод!), поэтому любой циклический метод - итеративный .
Сегодня прочитал твою задачу, там сказано решать ее методом простой итерации (последовательной итерации). У тебя есть по нему материал?
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653644
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x = - Sqrt(Lg(x) - 2), т.е. x = φ(x), с производной φ(x) у тебя все нормально (см. рисунок)
далее выбираешь начальное приближение на первом шаге х(0) и вперед:
х(1) = φ(x(0))
х(2) = φ(x(2))... так ты придедешь к победе коммунизма, только в окрестности самого корня будет очень медленно сходиться к корню, поэтому применяют совместно МПИ и метод Ньютона - Рафсона. Но тебе предлагаю забить на это.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653645
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рисунок забыл :)
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653767
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fabler, вот спасибо тебе огромное.

Девчёнка которой я это делаю будет тебе безмерно благодарна:)
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653829
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, наверное, что-то не правильно делаю.

Ещё в методичке указанна величина q. А откуда её брать не понятно. Нужна для определения точности.

Вот код.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
 program  Project2;

 {$APPTYPE CONSOLE} 

 uses 
  math,
  System;

 const 
  DELTA_X =  0 . 1 ;   {Ýòî ÿ áàëîâàëñÿ. DELTA_X ñòàâü ìíîãî ìåíüøå. Èíà÷å âàøè êîìïû îõðåíåþò òàê ñ÷èòàòü. Ó ìåíÿ ìàøèíà ìèíóòó äóìàëà.} 
  EPSILON =  0 . 001 ;

 {function - ðàçäåë îïèñàíèÿ ôóíêöèè.
Ñèíòàêñèñ:
function [èìÿ](<ïàðàìåòðû>)[: òèï âîçâðàùàåìîãî ðåçóëüòàòà];
begin
  êîä ôóíêöèè.
end;

ôóíêöèè ìîãóò ïåðåäàâàòüñÿ ïàðàìåòðû. Ìîãóò íå ïåðåäîâàòüñÿ. Ôóíêöèÿ âîçâðàùàåò ðåçóëüòàò.
 ôóíêöèè àâòîìàòè÷åñêè îïðåäåëåíà ïåðåìåííàÿ ñ èìåíåì ôóíêöèè. Ïðèñâàèâàÿ åé ÷òî-òî âîçâðàùàåøü ðåçóëüòàò.
 äàííîé ôóíêöèè âñ¸ âðîäå ïîíÿòíî è ïðîçðà÷íî.
Ïîìèìî ôóíêöèé åñòü åù¸ ïðîöåäóðû. Îòëè÷èå òîëüêî â òîì ÷òî ïðîöåäóðà íå âîçâðàùàåò çíà÷åíèå.
 áîëüøèíñòâå ÿçûêîâ ïðîãðàììèðîâàíèÿ ôóíêöèè è ïðîöåäóðû íå ðàçäåëÿþòñÿ ïîñðåäñòâàì êëþ÷åâûõ ñëîâ.
 òàêèõ ÿçûêàõ îòëè÷èå ëèø â òîì ÷òî â ôóíêöèè ïðîèçâîäèòñÿ ïîäú¸ì êàêîãî-òî çíà÷åíèÿ ïî ñòýêó. Òîåñòü âîçâðàò ðåçóëüòàòà.
procedure è function ÿ âèäåë òîëüêî â ïàñêàëå.

Ôóíêöèÿ òóò îïèñûâàåò ôóíêöèþ èñ çàäàíèÿ.
} 
 function  f(x: real): real;
 begin 
  f := x - sqrt(ln(x +  2 ));
 end ;

 function  fi(x: real): real;   {äåëàåì åù¸ îäíó ôóíêöèþ. Ñì. îïèñàíèå ìåòîäà èòåðàöèé} 
 begin 
  fi := x + f(x);
 end ;

 var 
  x, x1: real;
 begin 
   {Èíòåðâàë èçîëÿöèè òðåáîâàëîñü íàéòè ãðàôè÷åñêè. Ìíå áûëî ëåíü è ÿ íàøîë ÷èñëåííî.
  Åñëè áîèøüñÿ íå îáúÿñíèòü òî óäàëè ýòîò ó÷àñòîê êîäà.} 
  x := - 1 ;
   while  (f(x) * f(x + DELTA_X) >  0AND  (x <  10do  x := x + DELTA_X;
  writeln(x: 1 : 8 , ' ', (abs(fi(fi(x)) - fi(x)) > EPSILON));
  readln;
   while  (abs(fi((fi(x))) - fi(x)) > EPSILON)  do 
   begin 
    readln;
    write(fi(fi(fi(x))): 1 : 8 , ' fi(fi(x)) ', fi(fi(x)): 1 : 8 , ' abs((fi(x)) - fi(fi(x)) ', abs((fi(x)) - fi(fi(x))): 1 : 8 , ' x: ', x: 1 : 8 );
    x := fi(x);
   end ;
  writeln(fi(fi(fi(x))): 1 : 6 , ' ', fi(fi(x)): 1 : 6 , ' ', abs(fi(fi(x)) - fi(x)): 1 : 6 , ' ', x: 1 : 6 , ' ', f(x): 1 : 6 );
  readln;
   { TODO -oUser -cConsole Main : Insert code here } 
 end .
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653831
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять кнопачка сама нажалась падла.

В общем нет схождения.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33653870
-me-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 perl -e '$x = 10; $eps = 0.0001; do {$xp = $x; $x = sqrt(log($x+2)); print "$x\n" } while(abs($x-$xp)>$eps) '
 1 . 57635866787606 
 1 . 12886896976786 
 1 . 06802227867072 
 1 . 05878852709375 
 1 . 05736414323271 
 1 . 0571438661097 
 1 . 05710978758515 
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33654052
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinЕщё в методичке указанна величина q. А откуда её брать не понятно. Нужна для определения точности.

не понимаю, о чем ты.
тогда приведи задание полностью.
по поводу кода: конечно, я его не читал :)
но вот этого я не понял:
Sarin
Вот код.
Код: plaintext
1.
2.
3.
4.
5.
6.
....
 function  f(x: real): real;
 begin 
f := x - sqrt(ln(x +  2 ));
 end ;
....


у тебя же другая ф-ция...
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33654084
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fabler

у тебя же другая ф-ция...
ƒ(x) = x - Sqrt(Lg(x) - 2)
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33654098
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только сильно не расстраивайся
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33654190
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык для работы я использую другую:

fi := x + f(x)
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33654224
fabler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не знаю, о чем ты, но график говорит, что ур-е
ƒ(x) = x - Sqrt(Lg(x) - 2)
не имеет корней.
...
Рейтинг: 0 / 0
Численные методы. Решение трансцендентного уравнения методом итераций.
    #33654315
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я дурак.
Уравнение: &fnof(x) = x - Sqrt(lg(x + 2))
Но врядли это много чего меняет.

Должно иметь. Может иррациональные? Ведь для численных методов и иррациональный корень - корень:)
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Численные методы. Решение трансцендентного уравнения методом итераций.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]