![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 29.11.2011
Сообщений: 1
|
![]()
Здравствуйте, уважаемые форумчане. Пишу на подобный форум первый раз, поэтому сильно не ругайтесь на ошибки - буду исправляться.
Для начала условие задачи: Решить систему нелинейных уравнений f(x)=0 (где f(x)=(f1(x1..xn),f2(x1..xn)...fn(x1 ..xn)) методом по координатного спуска (последовательных решений)*, каждое уравнение решать методом секущих. *-про этот метод я много где искал, но преподаватель говорит, что я нахожу формулировку этого метода не такую, о которой он думает, хотя называет этот метод именно так. В этом вся загвоздка - преподаватель объяснил метод своими словами, код которого я вставлю ниже, но т.к. нигде я не могу встретить этот метод я не могу подобрать пример для которого этот метод будет работать. Чтобы быстрее понять суть моей писанины я напишу по какому алгоритму я его делал: в тексте программы заданы функции, на входе вводятся точность, шаг и начальное приближение. затем идет вычисление этими методами и на выходе ответ. А теперь метод: цикл начинается с первой функции в системе. мы фиксируем все переменные кроме первой (для второй функции в системе будем фиксировать все кроме второй и т.д.). затем в начальном приближении изменяем первое значение на h и считаем функцию от этого начального приближения, потом от -h, потом от 2h, потом -2h и так до тех пор пока функция не поменяет знак. как только функция поменяла знак то мы запускаем метод секущих для последнего полученного результат и предшествующего ему (т.к. для метода секущих нужно 2 приближения чтобы найти следующее). после секущих получили некоторое новое начальное приближение. с ним начинаем работать уже во второй функции. после проделанных операций мы получили новой начальное приближение, которое мы проверяем чтобы разность его и предшествующего ему было меньше заданной точности, если не выполняется, то повторяем, иначе - ответ. мне так объяснили, и мне кажется что тут что-то не то. или я прогу набрал с ошибками. программа запускается и постоянно идет зацикливание в разных местах - зависит от начального приближения и вида функций в общем помогите мне найти ошибку в тексте программы или подскажите ссылку на этот метод. Спасибо! программа для двух уравнений системы: Код:
Последний раз редактировалось manbo; 29.11.2011 в 20:09. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi. Решение системы нелинейных уравнений методами Ньютона и простых итераций. Помогите найти ошибку! | Sianessa | Помощь студентам | 8 | 13.04.2012 17:32 |
Решение систем линейных уравнений численными методами. | Spyke | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 02.10.2011 17:46 |
Решение дифф.уравнений 2го порядка явным и неявным методами Эйлера | ogion | Помощь студентам | 4 | 16.05.2010 18:36 |
Как заставить браузер печатать с указанными BGCOLOR? | Stilet | HTML и CSS | 3 | 01.10.2009 19:25 |