![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Georgiii |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 19.12.2005 Репутация: нет Всего: нет |
Дано f(x)=0 (1) Заменим (1) x=w(x) (2) Выберем грубое,приближенное значение х0,принадлежащее [a,b],подставим его в правую часть ур-я (2),получим: х1=w(x0) (3) далее подставим х1 в правую часть ур-я (3) получим: х2=w(x1) (4) x3=w(x2) (5) Проделаем данный процесс n раз получим х(n)=w(x(n-1)) Если эта посл-ть является сходящейся,т.е сущ-ет предел x*=lim(x(n)), то данный алгоритм позволяет опр-ть искомый корень. Вфражение (5) запишем как x*=w(x*) (6) Выражение (6) явл-ся решением выражения (2),теперь необходимо рассмотреть в каких случаях посл-ть х1....х(n) явл-ся сходящейся. Условием сходимости явл-ся если во всех точках х принадл.[a,b] выполняется условие: |w'(x)|<1 (производная <1) Вопрос в том что не получается написать прогу решения sin(x)=0 на С++ т.к непонятен алгоритм,непонятно какое х выводить. Если кто может напишите пожалуйста или помогите понять суть метода....лучше конечно первое |
|||
|
||||
| Georgiii |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 19.12.2005 Репутация: нет Всего: нет |
|
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 1 Всего: 8 |
А чего неясного? Надо ввести с клавиатуры x[0] и присваивать в цикле x[j+1]=sin(x[j]) - x[j] до момента |x[j] - x[j-1]|/|x[j]| < погрешность.
|
|||
|
||||
| Georgiii |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 19.12.2005 Репутация: нет Всего: нет |
А как же с производной?
|
|||
|
||||
| nworm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 502 Регистрация: 22.10.2005 Репутация: 1 Всего: 8 |
1. Опечатался x[j+1]=x[j] - sin(x[j]).
2. А что? Требуется исследование? Если надо просто метод реализовать, делай примерно как я предлагал. Можно поисследовать сходимость (для этого производная нужна), например, воспользовавшись теоремой теорема Это сообщение отредактировал(а) nworm - 22.12.2005, 19:37 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
да не парься...возьми приближённое значение производной в точке...возьми какое-то Х....и ООООО чень мальенькое dX...и вычисли по формуле y'=(F(X+dX)-F(X))/dX ...
-------------------- СУВ, Partizan. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |