2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Нелинейные уравнения
Сообщение12.03.2008, 13:27 


21/11/07
8
Дано нелинейное уравнение $f(C)=0$, где $f(C)$ - задана численно.
Решаем уравнение методом секущих :
$C_{n+1}=C_n-\frac{f(C_n)(C_n-C_{n-1})}{f(C_n)-f(C_{n-1})}$
Для начала процесса требуется задать две точки $C_0$ и $C_1$.По ним мы найдем точку $C_2$...
Вопрос: Какие из этих трех точек нужно брать для вычисления следующей? И как производить выбор на каждой следующей итерации?

включены BBCode и добавлены $$ // нг

 Профиль  
                  
 
 Re: Нелинейные уравнения
Сообщение13.03.2008, 10:27 
Заслуженный участник


12/07/07
4522
Формально, отбрасывается одна из старых точек, таким образом, чтобы в оставшихся точках функция принимала разные знаки – это как бы очевидно.

Только мне кажется, метод хорошо работает для выпуклых функций. В этом случае движется только одна граница промежутка, а последовательность приближений является монотонной. См. Гл. IV, §4. Способ пропорциональных частей (метод хорд) в [1].

Ref.
[1] Демидович Б.П., Марон И.А. Основы вычислительной математики. – М., 1963.

 Профиль  
                  
 
 Re: Нелинейные уравнения
Сообщение13.03.2008, 10:53 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
Atomsk писал(а):
Дано нелинейное уравнение f(C)=0, где f(C) - задана численно.
Решаем уравнение методом секущих :
C_{n+1}=C_n-\frac{f(C_n)(C_n-C_{n-1})}{f(C_n)-f(C_{n-1})}
Для начала процесса требуется задать две точки C_0 и C_1.По ним мы найдем точку C_2...
Вопрос: Какие из этих трех точек нужно брать для вычисления следующей? И как производить выбор на каждой следующей итерации?

Для вычисления следующей надо брать две предыдущие.
Метод сходится не всегда. Есть ситуации, когда сходимость гарантирована.
Например, если локализован корень (найден отрезок, содержащий этот корень и никаких других) и если ни первая ни вторая производные функции $$f(C)$ не меняют знак на этом отрезке, то метод сходится, если два начальных приближения взяты по ту сторону от корня, где функция $$f(C)$ выпукла к оси.
Метод секущих удобно сравнивать с методом касательных (Ньютона). В методе секущих вместо касательной проводится прямая, "заменяющая" касательную (прямая, проведенная через две точки графика).
Если же, как тут уже посоветовали, выбирать точки для построения секущей из условия, что функция в этих точках имеет разные знаки, то получится метод хорд, сходимость будет всегда, но она будет медленной (медленне, чем в методе секущих).

 Профиль  
                  
 
 Re: Нелинейные уравнения
Сообщение13.03.2008, 14:04 
Заслуженный участник


12/07/07
4522
Виноват, описанный TOTAL вариант, как пишет Калиткин в "Численных методах", вернее назвать методом секущих. Хотя в книге [2] метод хорд называют методом секущих и даже приводится пояснение такому названию :).

Если исходить из правильного метода, так как его описал TOTAL, то, следует выбрать точку $C_1$ ближе к корню, чем точку $C_0$. Тогда, при выполнении описанных TOTAL условий сходимости, кажется будем иметь монотонную сходимость к корню: на очередной итерации отбрасываем точку с самым малым значением индекса.

Ref.
[2] Березин И.С., Жидков Н.П. Методы вычислений. II – M., 1962.

 Профиль  
                  
 
 
Сообщение13.03.2008, 14:24 


21/11/07
8
В моей задаче функция задана численно, поэтому ни о выпуклости, ни о производной ничего сказать нельзя и (как сказал преподователь) просто так брать 2 предыдущие точки неправильно, их нужно каким то способом выбирать...
(или я неправильно понял :) )

 Профиль  
                  
 
 
Сообщение13.03.2008, 14:36 
Заслуженный участник
Аватара пользователя


23/08/07
5494
Нов-ск
Atomsk писал(а):
В моей задаче функция задана численно, поэтому ни о выпуклости, ни о производной ничего сказать нельзя и (как сказал преподователь) просто так брать 2 предыдущие точки неправильно, их нужно каким то способом выбирать...
(или я неправильно понял :) )

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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