Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

Эффективный алгоритм   Найти похожие ветки 

 
ArtemESC ©   (2005-10-17 20:37) [0]

Доброго времени суток...
Не могу надыбать эффективный алгоритм нахождения корней
уравнения, представимого в виде многочлена...
Из справочника мат.анализа нашел только Xn+1 = Xn - f (x)/f"(x) -
но похоже это не то. Может кто знает?


 
fedotawa   (2005-10-17 20:43) [1]

Численными методами. См. гуугле, а также книги про лошадей с нестандартным количеством ног.


 
Lamer@fools.ua ©   (2005-10-17 20:44) [2]

>Из справочника мат.анализа нашел только Xn+1 = Xn - f (x)/f"(x)

Это метод Ньютона, если не ошибаюсь. Если производную f"(x) заменить приблизительным значением: (f(Xn) - f(Xn-1)) / (Xn - Xn-1), то получится метод секущих-хорд, если опять же не ошибаюсь.


 
имя   (2005-10-17 20:48) [3]

Удалено модератором


 
Думкин ©   (2005-10-18 05:36) [4]

> ArtemESC ©   (17.10.05 20:37)  

Почему не то? Там есть условия при которых такой итерационный способ приведет к ответу. Вы их читали?
А так конечно - найдите корень x^2+1=0.


 
ArtemESC ©   (2005-10-18 15:57) [5]

>>Думкин
Дело в том что корней может быть больше одного,
а значит после нахождения первого корня нужно
будет делить многочлены - серъезная потеря точности,
хотя даже и  не факт что найденное число является корнем
(пример: x^2+1=0). Может есть методы
проверки, имеет ли данное уравнение решение?


 
pasha_golub ©   (2005-10-18 16:06) [6]

ArtemESC ©   (18.10.05 15:57) [5]

> Дело в том что корней может быть больше одного,

Корни надо отделить. Найти такие интервалы на которых будет один и только один корень.

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

1. [a;b] є R
2. f(a) * f(b) < 0
3. f - диференциируема и строго монотонна


 
ArtemESC ©   (2005-10-18 20:18) [7]

А нет ли чего по проще?


 
MBo ©   (2005-10-19 06:18) [8]

>А нет ли чего по проще?
Да, конечно.
Найти собственные значения "companion" матрицы, для которой данный полином является характеристическим ;)


 
Думкин ©   (2005-10-19 06:53) [9]

> MBo ©   (19.10.05 06:18) [8]

Издеваешься?

> ArtemESC ©   (18.10.05 15:57) [5]

Есть круги Гершгорена. Для отделения. Хотя всегда при чесленном имеется одно - точнсть вычислений. А вот как вам такое уравнение:
(X- 1.0000000000000001)*(X+ 1.0000000000000001) = 0
Отделите?
Численное решение(любое) - это метод тыка. Суть только одна - тык тот должен быть какм ожно более удачным.

> pasha_golub ©   (18.10.05 16:06) [6]

Достаточные <> необходимые. И в достаточных другой признак применяют - с использованием той самой ненужной второй производной.


 
Думкин ©   (2005-10-19 06:55) [10]

(X- 1.0000000000000000)*(X+ 1.0000000000000002) = 0

Имелось в виду.


 
Думкин ©   (2005-10-19 06:56) [11]

Тьфу.
(X + 1.0000000000000000)*(X+ 1.0000000000000002) = 0
Так разумеется. Совсем тупеешь. :(


 
Думкин ©   (2005-10-19 06:56) [12]

Тьфу.
(X + 1.0000000000000000)*(X+ 1.0000000000000002) = 0
Так разумеется. Совсем тупеешь. :(


 
MBo ©   (2005-10-19 07:26) [13]

>Думкин ©   (19.10.05 06:53) [9]
> MBo ©   (19.10.05 06:18) [8]
>Издеваешься?
Нет. Хлопец начнет корни полинома пятнадцатой степени искать ньютоноподобными методами - и все, приплыли из-за потери точности, даже при уточнении (polishing) корней. (Хотя сам я 9-ю степень вполне успешно решал, правда, что немаловажно - для "неплохих" коэфициентов полинома )

А для Eigenvalue problem нумерикалистами наработаны изощренные методы.


 
Думкин ©   (2005-10-19 07:31) [14]

> MBo ©   (19.10.05 07:26) [13]

Это понятно. Но исходя из вопроса - вряд ли будет поиск в ту сторону направлен.


 
MBo ©   (2005-10-19 07:42) [15]

>Думкин ©   (19.10.05 07:31) [14]
>вряд ли будет поиск в ту сторону направлен.
Согласен.


 
КаПиБаРа ©   (2005-10-19 08:10) [16]

MBo ©   (19.10.05 7:26) [13]
Для неплохих коэффициентов я и 50-ую степень решал :)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.041 c
10-1106911438
Sancho
2005-01-28 14:23
2005.11.06
Как дебагить сервер приложений


2-1129391518
DimaDima
2005-10-15 19:51
2005.11.06
к массивам по индексам в их имени


2-1128953486
intel
2005-10-10 18:11
2005.11.06
доступ к сетевому компьютеру


1-1129545468
DeStranger
2005-10-17 14:37
2005.11.06
Модальное окно теряет фокус


2-1129009737
Серг73
2005-10-11 09:48
2005.11.06
Помогите плз... Delphi7>ADO>Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский